[刷题] PTA 7-59 字符串逆序

题目:

7-59 字符串逆序 (15 分)
 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。

输入格式:

输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:

在一行中输出逆序后的字符串。

输入样例:

Hello World!

输出样例:

!dlroW olleH

分析:

1、读取字符串

2、倒序输出

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define N 81
 4 int main() {
 5     int i;
 6     char original[N] ;
 7     gets(original);
 8     for(i=strlen(original)-1;i>=0;i--){
 9         printf("%c",original[i]);
10     }
11     return 0;
12 }

注意N是81不是80

网友程序(博客“云上明月”):

 1 #include <stdio.h>
 2 #include <string.h>
 3 #define MAX 81
 4 int main(){
 5     char str[MAX], temp;
 6     int i;
 7     //scanf("%s", str);
 8     //以%s格式无法输入带空格的字符串
 9     gets(str);
10     for(i=0; i<strlen(str)/2; i++){
11         temp = str[i];
12         str[i] = str[strlen(str)-1-i];
13         str[strlen(str)-1-i] = temp;
14     }
15     printf("%s", str);
16 
17     return 0;
18 }

直接对称交换,统一了奇偶,注意下标从0开始,从1开始的话for中条件改为<=,str[i]=str[strlen(str)+1-i]

posted @ 2019-04-26 23:04  cxc1357  阅读(1920)  评论(0编辑  收藏  举报