不知道哪里错了,求助
查看原帖
不知道哪里错了,求助
1055591
ChuziChen2024楼主2024/9/22 19:33
#include <cstring>
#include <iostream>
using namespace std;

signed main() {
	string isbn_code;
	int isbn_int[11] = {0};
	int check_code = 0;
	int cnt = 0, sum = 0;
	cin >> isbn_code;
	
	// 转换数据类型
	check_code = isbn_code[12] - '0';
	for(unsigned int i = 0; i < isbn_code.length(); i++) {
		if(isbn_code[i] == '-') { // 跳过
			continue;
		} else {
			isbn_int[++cnt] = isbn_code[i] - '0'; // 加入
//			cout << "join number: " << isbn_code[i] - '0' << endl;
		}
	}
	
	// 检验数据
	cnt = 1; // 重置cnt
	for(int i = 0; i < 9; i++) {
		sum += cnt * isbn_int[i]; // 累计乘积
		cnt ++;
	}
//	cout << "real check number: " << sum % 11 << endl;
	if(sum % 11 == 10 && isbn_code[12] == 'X') {
		cout << "Right";
	} else if (sum % 11 == check_code) {
		cout << "Right";
	} else if (sum % 11 == 10) {
		isbn_code[12] = 'X';
		cout << isbn_code;
	} else {
		isbn_code[12] = (char)(sum % 11 + '0');
		cout << isbn_code;
	}
	
	return 0;
}

一直都AC不了啊

2024/9/22 19:33
加载中...