Text Reverse |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 1027 Accepted Submission(s): 334 |
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. |
#include<iostream> #include <string.h> #include "stdio.h" using namespace std; int main() { int n; cin >> n; getchar(); while(n--) { char a[1001]; memset(a,0,sizeof(a)); gets(a); char *p ,*q,*k; k = q = p = a; while(*p!=0) { int c = 0; while(*p == ' ') { p++; cout << ' ' ; } k = p; //k标记字母开始的第一个位子 while(*p!=' ' && *p!=0) //把p移到最后字母的后一个 p++; q = p; //q标记最后一个字符的后一个位子 p--; //倒退一个,p就是标记最后一个字母了,输出全都字母 while(p>=k) { cout << *p; p--; } p = q; } cout << endl; } return 0;
}
本文转自NewPanderKing51CTO博客,原文链接: http://www.cnblogs.com/newpanderking/archive/2011/07/23/2114934.html,如需转载请自行联系原作者