/*===================================== 单词翻转 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出 输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出 翻转每一个单词后的字符串 样例输入 hello world 样例输出 olleh dlrow
本来是想输入一个单词→翻转该单词并输出,重复这个过程即可。但不懂为何总是提示Presentation Error。
好吧,只好全部输入句子再扫描处理,遇到非空格的存到临时数组,遇到空格把临时数组逆序输出。
======================================*/
1 #include<stdio.h> 2 #include<string.h> 3 void SwapPrintOut(char t[],int j); 4 int main() 5 { 6 char s[505],temp[500]; 7 int i,j,len; 8 gets(s); 9 len=strlen(s); 10 for(i=0,j=0;i<len;i++) 11 { 12 if(s[i]!=' ') 13 { 14 temp[j++]=s[i]; 15 } 16 else 17 { 18 SwapPrintOut(temp,j); 19 j=0; 20 } 21 } 22 SwapPrintOut(temp,j); 23 return 0; 24 } 25 void SwapPrintOut(char t[],int j) 26 { 27 int i; 28 for(i=--j;i>=0;i--) 29 { 30 printf("%c",t[i]); 31 } 32 printf(" "); 33 }