c++ 30分实在不会了555——很急 求大佬debug

P1055 [NOIP2008 普及组] ISBN 号码

Q_WoLeiGeHongHu @ 2024-07-31 14:46:31

#include <bits/stdc++.h>
using namespace std;
int n,s=1,sum=0;
char z[233];
int main (){
    cin >> z;
    n=z[12];
    for (int i=0;i<11 && i!=1 && i!=5;i++){
        sum+=z[s-1]*s;
        s++;
    }
    sum=sum%11;
    if (sum==10) sum='X';
    if (sum==n) cout << "Right";
    else {
        z[12]=sum+'0';
        for (int v=0;v<13;v++){
            cout << z[v];
        }
    }
    return 0;
}

by z_w_b @ 2024-07-31 15:02:39

看看这样子理解得了吗```c

include<iostream>

using namespace std; int main(){ char a[14],mod[12]="0123456789X"; scanf("%s",a); 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]; printf("%s",a); } return 0; }


|