问题见代码里的注释;
#include<iostream>
using namespace std;
string a="XX1Y2XY212YX";
int main()
{
int b;
for(int i=1;;i++)
{
cin>>b;
if(b==1)
{
for(int j=0;j<a.size()-1;j++)//我输入1,然后代码还是给我输出的是:XX1Y2XY212YX,哪里出问题了?
{
if(a[j]=='X')
{
a[j]='Y';
}
if(a[j]=='Y')
{
a[j]='X';
}
}
}
if(b==2)
{
for(int j=0;j<=a.size()-1;j++)
{
if(a[j]=='1')
{
a[j]='X';
}
if(a[j]=='2')
{
a[j]='Y';
}
}
}
if(b==3)
{
for(int j=0;j<=a.size()-1;j++)
{
if(a[j]=='X')
{
a[j]='1';
}
if(a[j]=='Y')
{
a[j]='2';
}
}
}
cout<<a<<"\n";
}
return 0;
}