描述
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过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
}
图解:
总结:
①新增解法二;
②解法一是直接输出,而数组未反转,解法二是反转数组再输出数组;
③当前帖子仅供自我精进、学习使用,有不足之处欢迎指正。

京公网安备 11010502036488号