PAT乙级1009

1009 说反话 (20 分)
 

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

输入格式:

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

输出格式:

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

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 stack<string> s;
 4 int main()
 5 {
 6     string str;
 7     char c;
 8     while(cin>>str)
 9     {
10         s.push(str);
11         if((c=getchar())=='\n')
12         break;
13     }
14     cout<<s.top();
15     s.pop();
16     while(!s.empty())
17     {
18         cout<<" "<<s.top();
19         s.pop();
20     }
21     return 0;
22 }

1.通过栈操作来实现先进后出

2.

getchar()读入一个字符,注意是一个(‘x’之类的就是一个字符)
gets()读入一个字符串(“xxxx”)不接受换行符
puts()根据gets()来输出


posted @ 2019-04-01 08:02  zuiaimiusi  阅读(122)  评论(0编辑  收藏  举报