反转单词
时间限制 1000 ms 内存限制 65536 KB
题目描述
给出一句英文句子(只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格),请将其中的所有单词顺序翻转
输入格式
多组数据,以EOF结束。
每行一句英文句子(确保只由大小写字母和空格组成,不含标点符号,也不会出现连续的空格,字符串总长度1000以内)
输出格式
每组数据输出一行,为反转后的字符串
输入样例
It is a apple
输出样例
apple a is It
AC代码
#include<bits/stdc++.h>
#define MAXN 1010
using namespace std;
char buf[MAXN];
int main()
{
stack<string> c_s;
while(scanf("%s",buf)!=EOF){
c_s.push(string(buf));
//printf("%s\n",buf);
memset(buf,0,sizeof buf);
char c = getchar();
if(c=='\n'||c==EOF){
int csize = c_s.size();
int i=0;
while(!c_s.empty()){
string tmp=c_s.top();
printf("%s",tmp.c_str());
c_s.pop();
if(i!=csize-1){
printf(" ");
}
i++;
}
printf("\n");
}
}
return 0;
}