找不到问题丢了20分

P1055 [NOIP2008 普及组] ISBN 号码

Czh116489 @ 2022-11-10 19:51:01


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int sum=0;
    int arr1[10];
    char arr[13];//字符1转为数字1要减去48
    for(int i=0;i<=12;i++){
        cin>>arr[i];
}
//arr中的第二项第六项和第十二项不是数字字符去掉
    arr1[0]=arr[0]-'0';
    arr1[1]=arr[2]-'0';
    arr1[2]=arr[3]-'0';
    arr1[3]=arr[4]-'0';
    arr1[4]=arr[6]-'0';
    arr1[5]=arr[7]-'0';
    arr1[6]=arr[8]-'0';
    arr1[7]=arr[9]-'0';
    arr1[8]=arr[10]-'0';
    arr1[9]=arr[12]-'0';
    for(int i=0;i<=8;i++){
        sum=sum+arr1[i]*(i+1);
    }
    //cout<<sum<<endl;
    int num=sum%11;
    if(num==arr[12]-'0') cout<<"Right";
    else{
        arr[12]=num+'0';
        if(num==10) arr[12]='X';
        for(int i=0;i<=12;i++){
            cout<<arr[i];
        }
    }
    return 0;
}

|