1009. 说反话 (20)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出格式:每个测试用例的输出占一行,输出倒序后的句子。

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello
 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 char str[82]; 
 5 char a[82];  //转换后的目标数组
 6 int main()
 7 {
 8     int i,j,index=0;
 9     int len;
10     str[0] = ' ';  //原数组第一位设置为空格
11     gets(str+1);
12     len = strlen( str );  //原数组长度
13     for( i=len-1; i>=0; i-- )
14     {//从后往前循环
15         if( str[i]!=' ')
16         {//如果没有遇到空格则加入目标数组中
17             a[index++] = str[i];
18         else if( str[i]==' ')
19         {//如果遇到空格则输出目标数组中的全部元素
20             for( j=index-1; j>=0; j--)
21                 printf("%c",a[j]);
22             if( i==0) printf("
");  //如果是最后一个单词输出换行
23             else  printf(" ");
24             index = 0;  //目标数组中字符个数置0
25         }
26     }
27 
28     return 0;
29 }
在这个国度中,必须不停地奔跑,才能使你保持在原地。如果想要寻求突破,就要以两倍现在速度奔跑!
原文地址:https://www.cnblogs.com/yuxiaoba/p/8482054.html