C语言求大神简单答案!
6、将一个字符串的内容颠倒过来,并输出。字符串的长度不超过100个字符。注意:必须把原字符串中的字符颠倒位置,不能只是逆序输出。例如:输入:abcdefRST输出:TSR...
6、将一个字符串的内容颠倒过来,并输出。字符串的长度不超过100个字符。注意:必须把原字符串中的字符颠倒位置,不能只是逆序输出。
例如:
输入:abcdefRST
输出:TSRfedcba 展开
例如:
输入:abcdefRST
输出:TSRfedcba 展开
1个回答
展开全部
#include<stdio.h>
#include<string.h>
void main(){
char a[100];
scanf("%s",a);
for(int i=0;i<strlen(a)/2;i++)
char b=a[i];
a[i]=a[strlen(a)-1-i];
a[strlen(a)-1-i]=b;
printf("%s\n",a);
}
#include<string.h>
void main(){
char a[100];
scanf("%s",a);
for(int i=0;i<strlen(a)/2;i++)
char b=a[i];
a[i]=a[strlen(a)-1-i];
a[strlen(a)-1-i]=b;
printf("%s\n",a);
}
追问
无法理解!新手乎怪!
追答
比如字符串 abcdefRST
首先从将第一个字符 a 和 最后一个字符 T 交换 这样就变成了 TbcdefRSa 了
第二次 将第二个字符 b 和 倒数第二个字符 S 交换 这样就变成 TScdefRba 了
第三次 将第三个字符 c 和 倒数第三个字符 R 交换 这样就变成 TSRdefcba 了
第四次 将第四个字符 d 和 倒数第四个字符 f 交换 这样就变成 TSRfedcba 了
这样 进行四次 交换就可以了, 交换的次数是整个字符串长度的一半
程序中#include是将string.h>库包含进来,因为后面要用到 strlen()这个函数,而 strlen()这个函数 就是求 字符串长度的 函数。
for循环中 i<strlen(a)/2;是表示 循环进行到 字符串长度一半 的时候 结束
char b=a[i]; 将当前字符 (也就是第 i 个字符) 赋值给b
a[i]=a[strlen(a)-i-1]; 将倒数第 i 个字符 赋值给 第 i 个字符
a[strlen(a)-i-1]=b; 将 b(也就是 第 i 个字符)赋值给 倒数第 i 个 字符
上面三步 实现了 第 i 个 字符 和 倒数 第 i 个 字符 的交换
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询