题解 P1055 【ISBN号码】

jianzihao

2018-09-23 14:04:16

Solution

```cpp #include<iostream> #include<bits/stdc++.h> using namespace std; int main() { char x[15]; cin>>x;//定义字符数组 int sum=0,xym; sum+=(x[0]-'0')*1; sum+=(x[2]-'0')*2; sum+=(x[3]-'0')*3; sum+=(x[4]-'0')*4; sum+=(x[6]-'0')*5; sum+=(x[7]-'0')*6; sum+=(x[8]-'0')*7; sum+=(x[9]-'0')*8; sum+=(x[10]-'0')*9; sum=sum%11; if(x[12]=='X') { xym=10;//单独考虑X=10 } else{ xym=x[12]-'0'; } if(sum==xym) { cout<<"Right"; } else { cout<<x[0]<<x[1]<<x[2]<<x[3]<<x[4]<<x[5]<<x[6]<<x[7]<<x[8]<<x[9]<<x[10]<<x[11];//输出(有兴趣的同学可以简化) if(sum==10) cout<<"X"; else cout<<sum;//输出校验码 } return 0; } ```