PAT 乙级 1009

PAT 乙级 1009


1009 说反话 (20 分)

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

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

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

输入样例:
Hello World Here I Come

输出样例
Come I Here World Hello

分析
我们知道,栈是一种后进先出的数据结构。因此我们可以用栈来存储每一个单词,然后输出栈顶元素即可。

代码

#include 
#include
using namespace std;

int main()
{
	stack<string> st;
	string s;
    
	while (cin >> s)   st.push(s);
    
	cout << st.top();
	st.pop();
    
	while (!st.empty())
	{
		cout << " " << st.top();
		st.pop();
	}
    
	return 0;
}

你可能感兴趣的:(c++)