说反话

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一边做题 一边学习新的知识

猜你喜欢

转载自blog.csdn.net/weixin_42057351/article/details/82466948