C++70分求助!输出不了修改后带有X的ISBN码
查看原帖
C++70分求助!输出不了修改后带有X的ISBN码
1206049
Benerd楼主2024/1/18 20:53
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
    string ISBN;
    getline(cin, ISBN);
    int A[10];
    int j = 0;
    for (int i = 0; i < ISBN.size(); i++) {
        if ('0' <= ISBN[i] && ISBN[i] <= '9') {
            A[j] = ISBN[i] - '0';
            j++;
        }
    }
    int sum = 0;
    for (int m = 0; m < 9; m++) {
        sum += A[m] * (m + 1);
    }
    if (sum % 11 == A[9]) {
        cout << "Right";
    }
    else {
        if (sum % 11 == 10) {
            if (ISBN[ISBN.size() - 1] == 'X') {
                cout << "Right";
            }
        }
        else {
            if (sum % 11 != 10) {
                ISBN[ISBN.size() - 1] = sum % 11 + '0';
            }
            else {
                ISBN[ISBN.size() - 1] = 'X';
            }
            for (int n = 0; n < ISBN.size(); n++) {
                cout << ISBN[n];
            }

        }

        return 0;
    }
}
2024/1/18 20:53
加载中...