题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1062
一、题目要求
现有若干行输入,每行输入都有若干个字符串,每个字符串中间都间隔了若干个空格
读入这些输入后,将其按原有格式输出(即空格与回车字符位置不变),但每个字符串都要被翻转
二、题目代码
#include<iostream> using namespace std; int main() { int count; //文字行数 int curr; //用于遍历读入的一行文字 string s; //读取的一行文字 string temp; //临时存储一小段连续的不含空格的文字 cin >> count; getchar(); //读取count后面的'\n' while(count--) { getline(cin, s); temp = ""; for(curr = 0; curr < s.length(); curr++) { //读入到最后一个字符,输出最后一个字符串的翻转 if(curr == s.length() - 1 && s[curr] != ' ') { temp = s[curr] + temp; cout << temp; } //读入到空格后,输出上一个字符串的翻转 else if(s[curr] == ' ') { cout << temp << " "; temp = ""; } //读入到空格外的其他字符,把字符添加到临时字符串的前面 else { temp = s[curr] + temp; } } cout << endl; } return 0; }
三、运行结果
红色箭头所指处为按要求翻转后的上一行输入字符串
END