伊格内修斯喜欢以相反的方式写字。给定由 Ignatius 编写的一行文本,您应该反转所有单词,然后输出它们。
输入
输入包含几个测试用例。输入的第一行是一个整数 T,它是测试用例的数量。T测试用例如下。
每个测试用例包含一行,其中包含多个单词。一行最多有 1000 个字符。
输出
对于每个测试用例,您应该输出处理的文本。
样本输入
3
olleh !dlrow
m'I morf .udh
I ekil .mca
样本输出
Hello,world!
I'm from hdu.
I like acm.
暗示
记得使用getchar() 读取整数T 后的'\n',然后您可以使用gets() 读取一行并处理它。
#include<stdio.h>
#include<stack>
#include<iostream>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
getchar();
while(t--)
{
stack<char>s;
char ch;
while(true)
{
ch=getchar();
if(ch==' '||ch=='\n'||ch==EOF)
{
while(!s.empty()) //栈不为空时
{
printf("%c",s.top()); //输出栈顶
s.pop(); //出栈
}
if(ch=='\n'||ch==EOF)
{
break;
}
printf(" ");
}
else
{
s.push(ch); //入栈
}
}
printf("\n");
}
return 0;
}