给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
C++实现:
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
vector<string> v;
string t;
while(cin>>t)
{
v.push_back(t);
char c=getchar();//结束输入代码块
if(c=='\n') break;//结束输入代码块
}
reverse(v.begin(),v.end());
for(auto it=v.begin();it!=v.end();it++)
{
if(it==v.end()-1) cout<<*it;
else cout<<*it<<" ";
}
return 0;
}
补充:当程序调用getchar()时,相当于检索t后面的字符,这时要么是空格要么是回车,如果是空格则继续,如果是回车则break跳出循环,结束输入。