50分求助!

P1055 [NOIP2008 普及组] ISBN 号码

ljx15653581765 @ 2023-01-29 21:02:43


using namespace std;
char a[14];
int main(){
    int x;
cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]>>a[10]>>a[11]>>a[12]>>a[13];
    x=(a[1]-48)*1+(a[3]-48)*2+(a[4]-48)*3+(a[5]-48)*4+(a[7]-48)*5+(a[8]-48)*6+(a[9]-48)*7+(a[10]-48)*8+(a[11]-48)*9;
    x%=11;
    if(x==a[13]-48)
    cout<<"Right";  
    else
{
        for(int i=1;i<=12;i++)
    cout<<a[i];
    cout<<x;}

    return 0;
}

by shiyiheng @ 2023-01-29 21:32:13

@ljx15653581765 如果余数为10,则识别码为大写字母 XX。


by shiyiheng @ 2023-01-29 21:33:40

@ljx15653581765 多打了一个X


by ljx15653581765 @ 2023-01-30 18:29:26

include<bits/stdc++.h>

using namespace std; char a[14]; int main(){

cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]>>a[10]>>a[11]>>a[12]>>a[13];
    x=(a[1]-48)*1+(a[3]-48)*2+(a[4]-48)*3+(a[5]-48)*4+(a[7]-48)*5+(a[8]-48)*6+(a[9]-48)*7+(a[10]-48)*8+(a[11]-48)*9;
    x%=11;
    if(x==10)
    {
        x='X';
        if(a[13]==x)cout<<"Right";
        else
        {
        for(int i=1;i<=12;i++)
    cout<<a[i];
    cout<<'x';
        }
    } 
    else
    {
        if((a[13]-48)==x)cout<<"Right";
        else
        {
        for(int i=1;i<=12;i++)
        cout<<a[i];
        cout<<x;
        }
    }

    return 0;
}

还是错了,70分


|