这道题我主要错在了m是个空串,但我一直在给m[i]赋值,其实是无用的。改的方法是在字符串后追加字符:char c=n[i]+n[0];,m+=c;。
我还学到了可以用printf格式化输入输出进行调试。
我一开始把m初始化成了一个空格,所以能输出一个字符。
#include<iostream>
using namespace std;
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
string n;
getline(cin,n);
string m="";
int i=0;
while(i<n.size())
{
if(i==n.size()-1)
{
char c=n[i]+n[0];
m+=c;
}
else
{
char c=n[i]+n[i+1];
m+=c;
}
i++;
}
cout << m << endl;
//fclose(stdin);
//fclose(stdout);
return 0;
}