zoj 1151 Word Reversal
For each list of words, output a line with each word reversed without changing the order of the words.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
Input
You will be given a number of test cases. The first line contains a positive integer indicating the number of cases to follow. Each case is given on a line containing a list of words separated by one space, and each word contains only uppercase and lowercase letters.
Output
For each test case, print the output on one line.
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 int main(){ 5 int n; 6 string s; 7 cin >> n; 8 while(n--){ 9 int t; 10 cin >> t; 11 cin.get(); 12 while(t--){ 13 getline(cin, s); 14 int l = s.length(); 15 string ss = ""; 16 for(int i = 0; i < l; i++){ 17 if(s[i] != ' ') 18 ss = s[i] + ss; 19 else { 20 cout << ss << " "; 21 ss = ""; 22 } 23 } 24 cout << ss << endl; 25 } 26 if(n > 0) 27 cout << endl; 28 } 29 //system("pause"); 30 return 0; 31 }
学到的:如何处理将句中的一个单词反转,利用string定义的串调用“+”操作符。