首页 > 代码库 > PAT 1009 说反话 C语言

PAT 1009 说反话 C语言

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

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

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

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello


 1 #include<stdio.h>
 2 #include<string.h>
 3 #define MAXN 80+10
 4 #define HALFMAXN 40+5
 5 char input[MAXN];
 6 char output[HALFMAXN][MAXN];
 7 int main(){
 8     int i = 0,j=0,num = 0;
 9     memset(input,0,sizeof(input));
10     memset(output,0,sizeof(output));
11     
12     gets(input);
13     for(;i < sizeof(input); i++){
14         
15         if(input[i] ==  ){
16             j = 0;
17             num++;
18             continue;
19         }
20         /*if(input[i] == 0){
21             break;
22         }*/
23         output[num][j++] = input[i];
24     }
25 
26     //由于最后不能有空格,因此不能num>=0
27     for(; num > 0; num--){
28         printf("%s ",output[num]);
29     }
30     printf("%s\n",output[num]);
31     return 0;
32 }