70分求助大佬

P1055 [NOIP2008 普及组] ISBN 号码

ForgetHer @ 2022-08-30 14:42:01

#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int main(){
    char a[14],mod[12]="0123456789X";
    for(int i=0;i<12;i++){
        cin>>a[i];
    }
    int i,j=1,t=0;
    for(i=0;i<12;i++){
        if(a[i]=='-')continue;
        t+=(a[i]-48)*j++;
    }
    if(mod[t%11]==a[12]) cout<<"Right";
    else{
        a[12]=mod[t%11];
        for(int i=0;i<13;i++){
            cout<<a[i];
        }
    }
    return 0;
}

by 一个程序员 @ 2022-08-30 14:53:49

@EDang20001

输入有点问题。第6行的 i<12 改成 i<13 即可。


by ForgetHer @ 2022-08-30 14:56:30

@一个程序员 大佬相当于是我之前的循环不够吗?


by 一个程序员 @ 2022-08-30 15:13:19

@EDang20001 对


by _Waldeinsamkeit_ @ 2022-08-30 15:14:16

应该输入13个,你只输了12个


|