美文网首页
PAT (Basic Level):1009 说反话 (20)

PAT (Basic Level):1009 说反话 (20)

作者: 沙_狸 | 来源:发表于2018-06-06 14:46 被阅读0次

题目信息

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello

分析

逆序输出,可想到用栈的特性,后进先出。请教了浙大群里大佬,while(cin>>s)可用ctrl+z终止输入。发给pat后能中止说明pat测试时会输入终止符。

代码(用的柳神的)

#include <iostream>
#include <stack>
using namespace std;
int main() {
    stack<string> v;
    string s;
    while(cin >> s) {
        v.push(s);
    }
    cout << v.top();
    v.pop();
    while(!v.empty()) {
        cout << " " << v.top();
        v.pop();
    }
    return 0;
}

测试结果

image.png

相关文章

网友评论

      本文标题:PAT (Basic Level):1009 说反话 (20)

      本文链接:https://www.haomeiwen.com/subject/nopbsftx.html