基本思路:
就是用栈来模拟输入过程,遇到空格,就输出
答案
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
char ch;
scanf("%d",&n);
getchar();
while(n--)
{
stack<char>s;
while(true)
{
ch=getchar();
if(ch==' '||ch=='
'||ch==EOF)//如果这个单词或语句已结束
{
while(!s.empty())//判断栈顶不为空 ,输出这个反文
{
printf("%c",s.top());//输出栈顶
s.pop();//清掉栈顶
}
if(ch=='
'||ch==EOF) break;//如果换行或结束就输出换行(跳出执行26行)
printf(" ");//不是就输出空格隔开单词
}
else s.push(ch);//没结束就入栈
}
printf("
");
}
return 0;
}