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函数……

posted @ 2012-07-04 19:31  NoRush  阅读(349)  评论(0编辑  收藏  举报