Problem Description
Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.
|
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single line with several words. There will be at most 1000 characters in a line. |
Output
For each test case, you should output the text which is processed.
|
Sample Input
3
olleh !dlrow
m'I morf .udh
I ekil .mca
|
Sample Output
hello world! I'm from hdu. I like acm. |
Author
Ignatius.L
|
#include<stdio.h>
#include<string.h>
int main()
{
int i=0,num=0,count=0,temp=0,j=1,k=0;
int a[1000]={0};
char str[1000];
scanf("%d",&num);
getchar();
for(k=0;k<num;k++)
{
gets(str);
count=strlen(str);
for(i=0;i<=count;i++)
{
if(str[i]==' ')
{
a[j]=i;
temp=a[j];
while(temp>a[j-1])
{
putchar(str[temp-1]);
temp=temp-1;
}
if(j==1)
{
putchar(' ');
}
j++;
}
if(str[i]=='\0')
{
temp=i-1;
while(temp>=(a[j-1]+1))
{
putchar(str[temp]);
temp=temp-1;
}
}
}
a[0]=0;
i=count=temp=0;
j=1;
putchar('\n');
}
return 0;
}