Tips:使用一个临时数组c[1000] ,将输入的数据一边复制一边处理,碰到空格时就将前面的字符反向输出即可
1 #include<stdio.h> 2 #include<string.h> 3 ///使用一个临时数组c[1000] ,将输入的数据一边复制一边处理 4 void reverse(char s[]){ 5 char c[1000]; 6 int i,j,k; 7 for(i=0,j=0;i<strlen(s);i++){ 8 c[j++]=s[i]; 9 if(s[i]==' '){ 10 for(k=j-2;k>=0;k--) 11 printf("%c",c[k]); 12 printf("%c",c[j-1]); 13 j=0; 14 } 15 } 16 for(i=j-1;i>=0;i--) 17 printf("%c",c[i]); 18 } 19 int main() 20 { 21 int t,i; 22 scanf("%d",&t); 23 getchar(); 24 char str[1000]; 25 for(i=0;i<t;i++){ 26 gets(str); 27 reverse(str); 28 printf(" "); 29 } 30 return 0; 31 }