2,3,8,10#wa,求助大佬

P1055 [NOIP2008 普及组] ISBN 号码

Matrix_zero @ 2022-03-05 11:23:44

#include<iostream>
using namespace std;
int cnt = 1;
int main() {
    char isbn[13]{};
    cin >> isbn;
    int i,sum=0;
    for (i = 0; i < 12; i++) {
        if (isbn[i] >= '0' && isbn[i] <= '9') {
            sum += ((isbn[i] - '0') * cnt)%11;
            cnt++;
        }
    }
    sum %= 11;
    if (sum == isbn[12] - '0'||isbn[12]=='X'&&sum==10)
        cout << "Right";
    else
        {
            if(sum!=10)
                isbn[12]=sum+'0';
            else
                isbn[12]='X';   
            cout<<isbn;
        }
}

by Jason2011 @ 2022-03-09 23:13:44

isbn码有十三个字符所以要开14。


by Matrix_zero @ 2022-03-11 22:13:50

@Jason2011 开了十四个怎么还是2,3,8,10wa啊tat


by Jason2011 @ 2022-03-13 15:38:34

#include<iostream>
using namespace std;
int cnt = 1;
int main() {
    char isbn[14]{};
    cin >> isbn;
    int i,sum=0;
    for (i = 0; i < 12; i++) {
        if (isbn[i] >= '0' && isbn[i] <= '9') {
            sum += ((isbn[i] - '0') * cnt)%11;
            cnt++;
        }
    }
    sum %= 11;
    if (sum == isbn[12] - '0'||isbn[12]=='X'&&sum==10)
        cout << "Right";
    else
        {
            if(sum!=10)
                isbn[12]=sum+'0';
            else
                isbn[12]='X';   
            cout<<isbn;
        }
}

by Jason2011 @ 2022-03-13 15:40:00

我改成14提交都AC


by Jason2011 @ 2022-03-13 15:41:52

你有改其他地方吗


|