Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 1821 Accepted Submission(s): 556 |
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. Hint
Remember to use getchar() to read '\n' after the interger T, then you may use gets() to read a line and process it. |
Author
Ignatius.L
|
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i=0,n,length,t,j;
char ch,p[1001],temp;
cin>>n;
ch=getchar();
while(n--)
{
gets(p);
length=strlen(p);
t=0;
for(i=0;i<=length;i++)
{
if(p[i]==' '||p[i]=='\0')
{
for(j=t;j<(i+t)/2;j++)
{
temp=p[j];
p[j]=p[i-j+t-1];
p[i-j+t-1]=temp;
}
t=i+1;
}
}
puts(p);
}
return 0;
}