题解 P1055 【ISBN号码】

2018-09-23 14:04:16


#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;
}