/* 题目描述 给定一个英语,要求编写程序,将句中所有单词按颠倒顺序输出 输入格式 测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单 词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个 空格分开,输入保证句子末尾没有多余的空格。 输入格式 每个测试用例的输出展一行,出倒叙后的句子。 样例输入 Hello World Here I Come 样例输出 Come I Here World Hello ************************************************** 思路 使用gets函数读入一整行,从左至右枚举每一个字符,以空格为为分隔符对单词进行划分 并按照顺序存放到二维字符数组中,最后按单词输入顺序的逆序来输入所有单词 注意点 1、最后一个单词之后输入空格会导致“格式错误”。 2、由于PAT是单点测试,因此产生了下面这种更简洁的方法,即使用EOF来判断是否已经输入完毕 */ #include <iostream> #include <stdio.h> #include <string.h> using namespace std; int main(){ char str[90]; gets(str); int len =strlen(str),r=0,h=0; //r为行,h为列 char ans[90][90]; //ans[0]~ans[r] 存放单词 for(int i=0;i<len;i++) { if(str[i]!=' '){ //如果不是空格,则存放ans[r][h],并令h++ ans[r][h++]=str[i]; } else { //如果是空格,说明一个单词结束,行r增加1,列恢复至0 ans[r][h]='