題目:
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]
