PAT (Basic Level) Practise (中文) 1009.说反话

来源:互联网 发布:淘宝二手都要3c认证吗 编辑:程序博客网 时间:2024/05/18 19:45

1009. 说反话 (20)

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


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

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

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

输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello


注意事项


1、cin遇到不可见字符(空格等)就会停止读入,故应使用 getline( cin,str ) 来读入这行带空格的字符串,此方式以'\n'为结束读入标志;

2、利用堆栈“先入后出”的特性来进行单词的倒序输出;

3、“句子末尾不能有多余空格”需注意。


AC代码如下:

#include <iostream>#include <sstream>#include <stack>using namespace std;int main(){    string str;    getline( cin,str );//读入一行大串str    stack<string>s;    istringstream istr(str);//建立istringstream串流来读取str串(其头文件为include<sstream>)    string a;    while( istr>>a ){//把istr串流中的单个string(单词)依次存入a        s.push(a);//把单词压入栈中    }    //提取栈中单词    while( s.size()>1 ){        cout<<s.top()<<" ";        s.pop();    }    cout<<s.top()<<endl;    return 0;}


0 0
原创粉丝点击