请尝试只用string做
知识点:
1.遍历式的读入字符串,string后边直接加字符
2.循环:%
3.给string用str[i]赋值前好像必须先给他初始化(见代码2)
#include <iostream>
using namespace std;
int main()
{
string a, b;
getline(cin, a);
for (int i = 0; i < a.size(); i ++ ) b += a[i] + a[(i + 1) % a.size()];
cout << b << endl;
return 0;
}
代码2
int main()
{
string a,b;
getline(cin,a);
b=a;
int t=a.size();
for(int i=0;i<t;i++)
{
b[i]=a[i]+a[(i+1)%t];
//cout<<"b[i]="<<b[i]<<endl;
}
cout<<b;
return 0;
}
差版 仅供对比
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
char a[110],b[110];
fgets(a,110,stdin);
if(a[strlen(a)-1]=='\n') a[strlen(a)-1]='\0';
for(int i=0;i<strlen(a)-1;i++)
b[i]=a[i]+a[i+1];
b[strlen(a)-1]=a[strlen(a)-1]+a[0];
puts(b);
return 0;
}