1 #include2 #include 3 using namespace std; 4 string st; 5 int a[9]={ 0}; 6 int diag=0; 7 8 void get_prepare() 9 {10 cin >> st;11 a[0]=(int)st[0]-48;12 a[1]=(int)st[2]-48;13 a[2]=(int)st[3]-48;14 a[3]=(int)st[4]-48;15 a[4]=(int)st[6]-48;16 a[5]=(int)st[7]-48;17 a[6]=(int)st[8]-48;18 a[7]=(int)st[9]-48;19 a[8]=(int)st[10]-48;20 for (int i=0;i<9;i++) diag += (i+1)*a[i];21 diag %= 11;22 }23 bool correct()24 {25 int pre=(int)st[12]-48;26 if (pre==diag) return 1;27 if (pre==40 && diag==10) return 1;28 diag==10?st[12]='X':st[12]=((char)(diag+48));29 return 0;30 }31 32 int main()33 {34 get_prepare();35 cout << (correct()?"Right\n":st+'\n');36 }
对于字符串的处理可以说是现学现卖~
开始想的办法麻烦了 ,不过也算是尝试了各种string函数……