题目地址: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
本文介绍了一个简单的C++程序,该程序能够接收多行带有空格分隔的字符串输入,并将字符串内的字符进行翻转后输出,同时保持原有的空格与换行格式不变。
213

被折叠的 条评论
为什么被折叠?



