给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例例:
Hello World Here I Come
输出样例例:
Come I Here World Hello
这道题参考了柳神的代码,使用到的知识点如下:
C语言中没有string类型,但c++中多了方便好用的string类型,使用cin和cout进行输入和输出,但cin读入字符串的时候以空格为分隔符,因此无法读入存在空格的句子,这样的句子需要使用getline函数。
c++中stl栈stack使用的头文件是#include<stack>,在对栈的操作中:
empty()为堆栈为空则返回真;
pop()为移除栈顶元素,也就是我们常说的出栈操作;
top()为返回栈顶元素的值;
push()在栈顶增加元素,也就是平时所说的进栈操作;
size()返回栈中元素的个数。
这里还有一个点需要注意,就是cin>>s这个条件的结束条件就是字符串达到文件流末尾或输入出错(比如输入类型变化)。但是在某些系统下只有在输入换行之后再输入control+z,才能输出。
网友评论