Openjudge计算概论-单词翻转

/*=====================================
单词翻转
总时间限制: 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 }
View Code

 

posted on 2014-03-01 18:18  华山青竹  阅读(1001)  评论(0)    收藏  举报

导航