【发布时间】:2021-12-13 23:01:06
【问题描述】:
#include <iostream>
using namespace std;
int main()
{
string sentence;
string output;
string product1;
string product2;
char pr1;
string product;
int i;
getline (cin,sentence);
char pr2;
cin >> pr1;
cin >> pr2;
for (i=0; i < sentence.length();i++){
pr1 = sentence[i]; //asdfg---> g
pr2 = sentence[0]; //--> a
}
output += pr1+sentence+pr2;
cout << output;
return 0;
}
此代码用于交换字母,但例如当我输入asdfg 时,我得到gaasdfga。当我输入时,我想交换g 和a。知道我应该怎么做吗?知道出了什么问题,以及如何改进吗?
【问题讨论】:
-
将所有对
sentence的修改替换为std::reverse(sentence.begin(), sentence.end());从标准输入读取字符串,并简单地打印sentence而不是其他内容? -
你应该真正解释你想要做什么。如果标准输入是
nbvcx⏎qw,你期望得到什么?如果是aaaaabbbbb⏎ab? -
如果我以某种方式误解了这个问题,请通过在问题中添加一些示例输入和预期输出来澄清。