时间限制 1000 ms 内存限制 65536 KB
题目描述
给出一句英文句子(只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格),请将其中的所有单词顺序翻转
输入格式
多组数据,以EOF结束。
每行一句英文句子(确保只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格,字符串总长度1000以内)
输出格式
每组数据输出一行,为反转后的字符串
输入样例
It is a apple
输出样例
apple a is It
#include <iostream>
#include <cstdio>
#include <string>
#include <stack>
using namespace std;
int main(){
string str;
stack<string> sta;
bool firstCase;
while (cin>>str){
//initiate
while (!sta.empty())
sta.pop();
firstCase=true;
//input
while (true){
sta.push(str);
if (getchar()=='\n')
break;
cin>>str;
}
//output
while (!sta.empty()){
if (firstCase)
firstCase=false;
else
cout<<" ";
cout<<sta.top();
sta.pop();
}
cout<<endl;
}
return true;
}