TYVJ 1006 isbn by C++
1 #include<iostream> 2 #include<string> 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函数……