C语言求大神简单答案!

6、将一个字符串的内容颠倒过来,并输出。字符串的长度不超过100个字符。注意:必须把原字符串中的字符颠倒位置,不能只是逆序输出。例如:输入:abcdefRST输出:TSR... 6、将一个字符串的内容颠倒过来,并输出。字符串的长度不超过100个字符。注意:必须把原字符串中的字符颠倒位置,不能只是逆序输出。

例如:

输入:abcdefRST

输出:TSRfedcba
展开
 我来答
tengmaogen
2014-11-26
知道答主
回答量:10
采纳率:0%
帮助的人:12万
展开全部
#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);

}
追问
无法理解!新手乎怪!
追答
比如字符串 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 个 字符 的交换
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式