求助!30分.样例2输出一堆方框咋回事

P1055 [NOIP2008 普及组] ISBN 号码

635663114_hxf @ 2021-10-21 22:53:28

#include<bits/stdc++.h>
using namespace std;
string a;
int main()
{
    int sum,Code;
    cin>>a;
    if(a[12]!='X')
    {
        for(int i = 0;i<=12;i++)
        {
            if(a[i]!='-')   a[i] = a[i]-'0';
        }
        sum = a[0]*1+a[2]*2+a[3]*3+a[4]*4+a[6]*5+a[7]*6+a[8]*7+a[9]*8+a[10]*9;
        Code = sum%11;
        if(a[12]==Code) 
        {
            cout<<"Right";
        }
        else
        {
            a[12] = Code+'0';
            for(int i = 0;i<=12;i++)
            {
                cout<<a[i];
            }
        }   
    }
    else if(a[12]=='X')
    {
        for(int i = 0;i<=11;i++)
        {
            if(a[i]!='-')   a[i] = a[i]-'0';
        }
        sum = a[0]*1+a[2]*2+a[3]*3+a[4]*4+a[6]*5+a[7]*6+a[8]*7+a[9]*8+a[10]*9;
        Code = sum%11;
        if(Code==10)
        {
            cout<<"Right";
        }
        else
        {
            a[12] = Code;
            for(int i = 0;i<=12;i++)
            {
                cout<<a[i];
            }   
        }
    }
    return 0;
}

|