当前位置: 代码迷 >> 综合 >> 5-32 说反话-加强版 (20分)
  详细解决方案

5-32 说反话-加强版 (20分)

热度:92   发布时间:2023-10-09 20:15:43.0

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

输入格式:

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

输出格式:

每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello


#include <iostream>
#include <string>
#include <sstream>
#include <stack>
using namespace std;
string str;
stack<string> s;
int main()
{while(getline(cin,str)){istringstream it(str);bool isfirst = true;while ( it >> str ){s.push(str);}while (!s.empty()){if (isfirst){isfirst = false;cout<<s.top();}else{cout<<" "<<s.top();}s.pop();}cout<< endl;}return 0;
}


  相关解决方案