大佬们,我这个代码哪里出错了,找了半小时了,一直wa

P1055 [NOIP2008 普及组] ISBN 号码

wangchunyuIO @ 2025-01-01 20:29:09

#include<bits/stdc++.h>
using namespace std;
char a[13];
 int l=0;
 int main(){
    cin>>a;
    int k=0;
    for(int i=0;i<11;i++){
    if(a[i]!='-'){
        k++;
        l+=k*(a[i]-'0');
    }
    l%=11;
    char c;
    if(l==10){
         c='X';
    }else{
        c=l+'0';
    }
    if(a[12]==c){
        cout<<'Right'<<endl;
    }else{
        a[12]=c;
        cout<<a<<endl;
    }
    return 0;
}
}

by WE_TRT @ 2025-01-01 20:37:20

@wangchunyuIO ISBN的长度是13


by b__b @ 2025-01-01 20:50:48

@wangchunyuIO在你源代码上改了一下,请自己对照

#include<bits/stdc++.h>
using namespace std;
char a[15];
int l=0;
int main(){
    cin>>a;
    int k=0;
    for(int i=0;i<11;i++){
    if(a[i]!='-'){
        k++;
        l+=k*(a[i]-'0');
    }
    }
    l%=11;
    char c;
    if(l==10){
         c='X';
    }else{
        c=l+'0';
    }
    if(a[12]==c){
        cout<<"Right"<<endl;
    }else{
        a[12]=c;
        cout<<a<<endl;
    }
    return 0;
}

最后,第一次发,求关()


|