本文共 1765 字,大约阅读时间需要 5 分钟。
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 3olleh !dlrowm'I morf .udhI ekil .mca |
Sample Output hello world!I'm from hdu.I like acm. |
#include#include #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,如需转载请自行联系原作者