My name is IKUN(已开学) 2023-07-01 13:16 采纳率: 75%
浏览 23
已结题

洛谷P1055挂50分

不懂就问,我洛谷P1055为什么挂了呢?(50分)

#include<bits/stdc++.h>
using namespace std;
char ISBN_char[14];
int ISBN_data[11],num=1;
int main(){
    for(int i=1;i<=13;i++)
        cin>>ISBN_char[i];
    for(int i=1;i<=13;i++){
        if(ISBN_char[i]!='-'){
        ISBN_data[num]=ISBN_char[i]-'0';
        num++;
        }
    }
    int sum=0;
    for(int i=1;i<=9;i++)
    sum+=ISBN_data[i]*i;
    sum%=11;
    if(sum==ISBN_data[10]){
        cout<<"Right";
    }
    else{
        for(int i=1;i<=12;i++)
        cout<<ISBN_char[i];
        cout<<sum;
    }
}

  • 写回答

2条回答 默认 最新

  • a5156520 2023-07-01 13:39
    关注

    增加处理下识别码为'X'的情况即可。

    修改如下:

    
    #include<bits/stdc++.h>
    using namespace std;
    char ISBN_char[14];
    int ISBN_data[11],num=1;
    int main(){
        for(int i=1;i<=13;i++)
            cin>>ISBN_char[i];
        for(int i=1;i<=13;i++){
            // 将ISBN中的数字字符转为对应的数字 
            if(ISBN_char[i]>='0'&&ISBN_char[i]<='9'){
                ISBN_data[num]=ISBN_char[i]-'0';
                num++;
            }else if(ISBN_char[i]=='X'){  // 将识别码为'X'时,转为10 
                ISBN_data[num]=10;
                num++;    
            }
            
        }
        int sum=0;
        for(int i=1;i<=9;i++)
        sum+=ISBN_data[i]*i;
        sum%=11;
        if(sum==ISBN_data[10]){
            cout<<"Right";
        }
        else{
            for(int i=1;i<=12;i++)
            cout<<ISBN_char[i];
            if(sum<10){  // 如果小于10,则输出对应的识别码数字 
                cout<<sum;
            } else{ // 如果是10,则输出对应的字符'X' 
                cout<<'X';
            }
        }
    }
     
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月9日
  • 已采纳回答 7月1日
  • 创建了问题 7月1日

悬赏问题

  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集
  • ¥15 靶向捕获探针方法/参考文献