社区讨论

求指出代码哪里出错了

P1055[NOIP 2008 普及组] ISBN 号码参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m3tz7a3c
此快照首次捕获于
2024/11/23 17:36
去年
此快照最后确认于
2025/11/04 14:06
4 个月前
查看原帖
谢谢!
CPP
#include<iostream>
using namespace std;
int main(){
    string isbn ;
    int helper = 0;
    int helper2 = 0;
    int helper3 = 0;
    cin>>isbn; //一个isbn总共有13个字符,去掉末尾数字有12个字符,去掉末尾数字有9个数字.
//    cout<<isbn<<endl;
    for (int i = 0; i< 11; i++){
        if (isbn[i] != '-'){
//            cout<<"The number "<<isbn[i]<<" is valid"<<endl;
            helper += 1;
            helper2 += (isbn[i] -'0')*helper ;
        }
    }
    helper3 = helper2 % 11;
    if (isbn[12] == '0' + helper3){
        cout<<"Right"<<endl;
    }else if(helper2 == 10){
        isbn[12] = 'X';
        cout<<isbn<<endl;
    }else{
        isbn[12] = '0' + helper2;
        cout<<isbn<<endl;
    }

}

回复

1 条回复,欢迎继续交流。

正在加载回复...