/*1009. 说反话 (20)
https://www.patest.cn/contests/pat-b-practise/1009
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。
字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,
单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello*/
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[100];
gets(str);
int len = strlen(str), r = 0, h = 0,i; // r 为行,h 为列
char ans[100][100]; // ans[0] ~ ans[r] 存放单词
for(i = 0; i < len; i++){
if(str[i] != ' '){ //若不是空格,则存放至 ans[r][h],并令 h++
ans[r][h++] = str[i];
}
else{ //若是空格,说明一个单词结束,行 r 增加 1,列 h 恢复至 0
ans[r][h] = '\0'; //末尾是结束符 \0
r++;
h = 0;
}
}
for(i = r; i >= 0; i--){ //倒着输出单词
printf("%s", ans[i]);
if(i > 0)
printf(" ");
else
printf("\n");
}
return 0;
}