描述

接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

输入描述:

输入一行,为一个只包含小写字母的字符串。

输出描述:

输出该字符串反转后的字符串。

示例1

输入:
abcd
输出:
dcba
解法一:
#include<stdio.h>
#include<string.h>
//以下是Senky的代码
int main() {
    char a[1000];
    gets(a);
    int len = strlen(a);
    for (int i = 0; i < len; i++) {
        printf("%c", a[len - 1 - i]);
    }
    return 0;
}
解法二:
#include<stdio.h>
#include<string.h>
//以下是Senky的代码:
void reverse_string(char* str)
{
	int left = 0;//指向字符串头
	int right = strlen(str) - 1;//指向字符串尾
	//字符串有奇数个字符则字符串中间的字符不用换
	//字符串有偶数个字符交换完后left>right
		while (left < right)
		{
			char tmp = str[left];//交换两个字符串的内容
			str[left] = str[right];
			str[right] = tmp;
			left++;
			right--;
		}
}
int main()
{
	char a[1000] ;
	gets(a);//手动输入一个字符串
	reverse_string(a);//逆序
	printf("%s", a);//输出
	return 0;//编辑于2022/09/25
}
图解:

总结:
①新增解法二;
②解法一是直接输出,而数组未反转,解法二是反转数组再输出数组;
③当前帖子仅供自我精进、学习使用,有不足之处欢迎指正。