欢迎大家批评指正,谢谢!!


解题思路:

                思路1.直接倒叙输出(最简单)。

                思路2.找中间变量,首尾进行交换。

                思路3.增加另一个数组,进行倒序赋值,然后输出。

注意事项:

                 利用strlen(),求字符串长度时,最后结束标志'\0'不包含在内。

参考代码:

                思路1代码:

                                    #include<stdio.h>
                                    #include<string.h>
                                    int main()
                                    {
                                         char str[255];
                                         int i,len;
                                         gets(str);
                                         len=strlen(str);
                                         for(i=len-1;i>=0;i--)        //倒序输出
                                              printf("%c",str[i]);
                                         return 0;
                                     }

            

                思路2代码:                                  

                                    #include<stdio.h>
                                    #include<string.h>
                                    int main()
                                    {
                                         char str[255],temp[1];
                                         int i,len;
                                         gets(str);
                                         len=strlen(str);
                                         for(i=0;i<(len-1)/2;i++)
                                         {
                                                  temp[0]=str[len-1-i];        //利用中间变量交换
                                                  str[len-1-i]=str[i];
                                                  str[i]=temp[0];
                                          }
                                        puts(str);
                                       return 0;
                                     }

                    思路3代码:

                                    //最后一种方法在这题里面显得很笨拙,但在复杂点的题目里面却是比较常用的方法
                                    #include<stdio.h>
                                    #include<string.h>
                                    int main()
                                    {
                                         char str[255],d_str[255];
                                         int i,len,j=0;
                                         gets(str);
                                         len=strlen(str);
                                         for(i=len-1;i>=0;i--)
                                         {
                                                   d_str[j++]=str[i];
                                         }
                                          d_str[j]='\0';                  //注意要有这一步,否则就没有结束标志了
                                         puts(d_str);
                                         return 0;
                                     }


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论