解题思路:
由于单语存在一个数组内,对其进行翻转,实际上等效于将其前后调换就可。即,第一个字符和倒数第一个字符进行交换,第二个字符与倒数第二个字符进行交换……,直到字符数组的中间,假设中间这个字符剩单(奇数)个由正好剩一个字符,那就自己交换自己。如果为双(偶数)个,那正好调换完毕。但不论哪种情况,都可以将第N个字符与倒数第N个字任进行交换。不会影响功能。
注意事项:
用gets()接受字符,输出时用%S。
参考代码:
#include<stdio.h> #include<string.h> #define x 100//100个符字 int main() { char str[x]; int l=0; char tmp=0; int start=0; int end=0; gets(str); l=strlen(str); start=0;//第一个字符的下标 end=l-1;//最后一个字符的下标 while(start<end)//交换 { tmp=str[start]; str[start]=str[end]; str[end]=tmp; start++;//后移 end--;//前移 } printf("%s\n",str);//输出。 }
0.0分
0 人评分
点我有惊喜!你懂得!浏览:1977 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:1052 |
震宇大神的杀毒软件 (C语言代码)浏览:1240 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1277 |
ASCII帮了大忙浏览:748 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:587 |
核桃的数量 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:574 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:477 |
C语言程序设计教程(第三版)课后习题7.5 (C++代码)浏览:1390 |