PAT1009 说反话

PAT1009 说反话

题目

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

输入格式

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

输出格式

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

输入样例

1
Hello World Here I Come

输出样例

1
Come I Here World Hello

思路

如果是C的话,要判断空格和单词的关系,保证单词不逆序,而单词的顺序为逆序。
不过C++可以直接拿到单词的数组,逆序输出就行啦~

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//pat1009
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, char const *argv[])
{
vector<string> vec;
string s;
char ch;
//读入字符串用getline(cin,s);
while (cin >> s)
{
vec.push_back(s);
if ((ch = getchar()) == '\n')
break;
}
for (auto it = vec.rbegin(); it != vec.rend(); it++)
{
if (it != vec.rend() - 1)
cout << *it << " ";
else
cout << *it;
}
return 0;
}
文章作者: Shengyaqingfeng
文章链接: https://creazyboyone.github.io/pat1009/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shengyaqingfeng's Blog