201312-2 ISBN号码

水体,直接上代码

 1 #include<bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int main(){
 6     
 7     int a[11];
 8     char ch;
 9     
10     a[1] = getchar() - '0';
11     ch = getchar();
12     a[2] = getchar() - '0';
13     a[3] = getchar() - '0';
14     a[4] = getchar() - '0';
15     ch = getchar();
16     a[5] = getchar() - '0';
17     a[6] = getchar() - '0';
18     a[7] = getchar() - '0';
19     a[8] = getchar() - '0';
20     a[9] = getchar() - '0';
21     ch = getchar();
22     ch = getchar();   //第10个数  可能是X  所以不能当数字输入 
23     
24     int sum = 0;
25     for(int i=1;i<=9;i++) {
26         sum+=a[i]*i;
27     }
28     
29     if(sum%11==ch-'0'||(sum%11==10&&ch=='X')){
30         cout<<"Right";
31     }
32     else{
33         cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<(sum%11);
34     }
35     
36     return 0;
37 }
View Code

然后尴尬了

然后仔细看了一下代码  为了方便  未作详细的分类  导致不同类的不同结果未考虑仔细

说人话就是   right的两个应该分开写   因为sum%11=10的情况  对应的输出应该是"X",而其余情况才是直接sum%11,  或者  输出结果之前应该判断  是否是10.

 1 #include<bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int main(){
 6     
 7     int a[11];
 8     char ch;
 9     
10     a[1] = getchar() - '0';
11     ch = getchar();
12     a[2] = getchar() - '0';
13     a[3] = getchar() - '0';
14     a[4] = getchar() - '0';
15     ch = getchar();
16     a[5] = getchar() - '0';
17     a[6] = getchar() - '0';
18     a[7] = getchar() - '0';
19     a[8] = getchar() - '0';
20     a[9] = getchar() - '0';
21     ch = getchar();
22     ch = getchar();   //第10个数  可能是X  所以不能当数字输入 
23     
24     int sum = 0;
25     for(int i=1;i<=9;i++) {
26         sum+=a[i]*i;
27     }
28     if(sum%11==10){
29         if(ch=='X'){
30             cout<<"Right";
31         }
32         else cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<"X";
33     } 
34     else if(sum%11==ch-'0'){
35         cout<<"Right";
36     }
37     else{
38         cout<<a[1]<<"-"<<a[2]<<a[3]<<a[4]<<"-"<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<"-"<<(sum%11);
39     }
40     
41     return 0;
42 }
View Code

原文地址:https://www.cnblogs.com/HnuLyx/p/12190017.html