检查了几遍,觉得没错,为啥只有30分?

P1055 [NOIP2008 普及组] ISBN 号码

zyabc @ 2022-05-08 22:43:48


#include<bits/stdc++.h>
using namespace std;
int main()
{
    char isbn[13];
    cin>>isbn;
    int num[10],result=0;
    num[0]=isbn[0]-'0';
    num[1]=isbn[2]-'0';
    num[2]=isbn[3]-'0';
    num[3]=isbn[4]-'0';
    num[4]=isbn[6]-'0';
    num[5]=isbn[7]-'0';
    num[6]=isbn[8]-'0'; 
    num[7]=isbn[9]-'0';
    num[8]=isbn[10]-'0';
    num[9]=isbn[12]-'0';
    for(int i=0;i<9;i++)
    {
        result+=num[i]*(i+1);

    }
    result=result%11;

    if(result<=9) {
        if(result==num[9]) cout<<"Right";
        else 
        {
            isbn[12]=result+'0';
            cout<<isbn;
        }
    }
    else 
    {    
        if(isbn[12]=='X') cout<<"Right";
        else 
        {
            isbn[12]='X';
            cout<<isbn;
        }
    }
    return 0;
}

by 8atemak1r @ 2022-05-08 22:48:15

@zyabc 显然不能把所有的字符都统计进去


by zyabc @ 2022-05-08 23:11:56

@8atemak1r 我只统计了9位数字,分隔符跳过了


by 8atemak1r @ 2022-05-09 00:14:32

@zyabc 数组开大 5 是个好习惯


by zyabc @ 2022-05-09 08:20:48

@8atemak1r 果然,我isbn数组调大就全部通过了。。


|