#include <stdio.h> #include <string.h> int main() { char a[200]; while(gets(a)!=NULL) //用scanf(“%s”,a)是错的 { int i,j,k; for(i=0;i<strlen(a);i++) { k=0; //用k记录每个单词的长度,注意赋初值位置 if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z') { for(j=i;j<strlen(a);j++) { if(a[j]>='a'&&a[j]<='z'||a[j]>='A'&&a[j]<='Z') k++; else break; } for(j=i+k-1;j>=i;j--) // 这里注意j=i+k-1;k一定要减一 { printf("%c",a[j]); } i=i+k-1; //注意这里i的取值 } else printf("%c",a[i]); //空格直接输出 //这种if else的控制字符思想要加强,自己很难一次编出来 } printf("\n"); } return 0; } |
Double click to view unformatted code.