感觉自己逻辑没问题,但是就是找不到自己哪里错了

P1055 [NOIP2008 普及组] ISBN 号码

oneunderdog @ 2023-11-02 19:41:15

#include<iostream> 
using namespace std;  
int main(){  
    char ISBN[13];//储存所有ISBN码  
    int shuzi[10];  
    cin>>ISBN;  
    int y=1;  
    int k=0;//按照运算得到的数字  
    int yushu;  
    char yushuchar;  
    for(int i=0;i<13;i++){  
        if(ISBN[i]!='-') {  
            shuzi[y]=ISBN[i]-'0';   
            y++;    
         }  
    }

    for(int p=1;p<=9;p++){
        k=k+shuzi[p]*p;
    }
    yushu=k%11;

    if(yushu==10) cout<<'X';
    else if(yushu==shuzi[10]) cout<<"Right";
    else {  
            yushuchar='0'+yushu;
            ISBN[12]=yushuchar; 
            cout<<ISBN;
        }
}

by _zzzzzzy_ @ 2023-11-02 19:54:44

@oneunderdog 这个x是指当余数是10的时候最后一个字符是x,不是输出x


by oneunderdog @ 2023-11-03 18:48:24

@zzzzzzy 欧克欧克


|