1009.说反话(字符串处理)

来源:互联网 发布:小米盒子破解软件 2016 编辑:程序博客网 时间:2024/06/05 07:55

1009. 说反话 (20)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

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

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

输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
#include <iostream>  #include <string>  #include <sstream>   //头文件中包含istringstream#include <stack>  using namespace std;  string str;  stack<string> s;  //栈中存储stringint 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;  }