C艹代码50分,大佬求助!!

P1055 [NOIP2008 普及组] ISBN 号码

xyx_37jc @ 2022-08-06 23:03:03

这份代码的提交记录 WA #4,#5,#6,#8,#9。

其中WA #4让我很意外,其输入为 6-670-82162-X , 输出为 Right。 我用DEVC++编译结果也没有问题

代码如下(很烂):

#include<bits/stdc++.h>
using namespace std;
int sum;
int main(){
    string a;
    getline(cin,a);
    int sb=1,l=a.length();
    for(int i=0;i<l-2;i++){
        if(i==1||i==5) continue;
        sum+=(a[i]-48)*sb;
        ++sb;
    }
    sum%=11;
    if(a[12]=='X'){
        if(sum==10) cout<<"Right"<<endl;
        else{
            for(int i=0;i<l-1;i++) cout<<a[i];
            cout<<sum<<endl;
        }
    }
    else{
        if(a[12]-48==sum) cout<<"Right"<<endl;
        else{
            for(int i=0;i<l-1;i++) cout<<a[i];
            cout<<sum<<endl;
        }
    }
    return 0;
}

辛苦大佬了!


by 111abcd @ 2022-08-06 23:19:10

@xyx_37jc 别的没问题,输出最后一个字符的时候没加特判,sum=10的时候。不过样例四的问题我看不出来


|