易错点:
1、string转int int转string
2、10与X陷阱
1、int+'0’得到string, string-'0’得到int
string[x]得到字符串中的第x位字符
2、10用X表示,当mod11=10时,应该判断最末一位是否为X、替换时也应该替换为X而不是10
#include <iostream>
#include <string>
using namespace std;
int main(){
string a;
cin>>a;
int c=0;
c+=a[0]-'0';
for(int i=2;i<=4;++i)
c+=(a[i]-'0')*i;
for(int i=6;i<=10;++i)
c+=(a[i]-'0')*(i-1);
if(c%11==a[a.length()-1]-'0'||a[a.length()-1]=='X')
cout<<"Right";
else{
if(c%11!=10)
a[a.length()-1]=c%11+'0';
else
a[a.length()-1]='X';
cout<<a;
}
return 0;
}