70求助

P1055 [NOIP2008 普及组] ISBN 号码

zzh1109 @ 2024-01-29 20:11:58


using namespace std;
int main(){
    char n[14];
    char aa[12]="0123456789X";
    int cc=0;
    int m=1;
    for(int i=0;i<13;i++){
        cin>>n[i];
    }
    for(int i=0;i<12;i++){
        if(n[i]=='-'){
            continue;
        }
        else{
            cc+=(n[i]-'0')*m++;
        }
    }
        if(aa[cc%11]==n[12]){
            cout<<"Right";
        }
        if(aa[cc%11]==10){
            cout<<"X";
        }
        else{
            n[12]=aa[cc%11];
            cout<<n;
        }
    return 0;
}

by zeng_xuan @ 2024-01-31 20:17:55

@zzh1109

#include <bits/stdc++.h>
using namespace std;
int main(){
    char n[14];
    char aa[12]="0123456789X";
    int cc=0;
    int m=1;
    for(int i=0;i<13;i++){
        cin>>n[i];
    }
    for(int i=0;i<12;i++){
        if(n[i]=='-'){
            continue;
        }
        else{
            cc+=(n[i]-'0')*m++;
        }
    }
    if(aa[cc%11]==n[12]){//判断是否相同
        cout<<"Right";
    }
    else{//不是就修改
      n[12]=aa[cc%11];
        printf("%s",n);
    }
    return 0;
}

by zeng_xuan @ 2024-01-31 20:18:51

@zzh1109 原因就错在判断这边,注意看题啊


by zzh1109 @ 2024-01-31 20:50:14

谢大佬


|