7-3 说反话-加强版(20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
#include<bits/stdc++.h>
#include<sstream>///字符串流头文件
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
vector<string >w;///数组
string str,st,tmp;
getline(cin,str);///一行截取 因为存在空格 所以不能直接cin
int len=0;
istringstream ss(str);///字符串流 用空格自动断开 进入ss中
while(ss>>tmp)///ss是字符串流的名字 随便起
{
w.push_back(tmp);///存入数组中即可
len++;
}
for(int i=len-1;i>=0;i--)
{
cout<<w[i];///注意输出格式
if(i!=0)
printf(" ");
}
return 0;
}
///做过的题有时候就是自己的输出格式不太注意 导致错误
///所以一定要注意输出格式
///用了zi'f字符串流来做 shun瞬间简单了 许多
///这个题用c做的话 就很麻烦了
///yi'b一边做题 一边学习新的知识