201312-2 ISBN号码

实现

#include <iostream>

#define MAXN 0x10

char ISBN_str[MAXN];

int main() {
	std::cin >> ISBN_str;
	
	int i,cnt = 1, id = 0;
	for (i = 0;i < 11;++i) {
		if (ISBN_str[i] >= '0' 
		&& ISBN_str[i] <= '9') {
			id += (cnt++) * (ISBN_str[i] - '0');
		}
	}
	
	id = id % 11;
	
	if ((id != 10 && id == (ISBN_str[12] - '0')) 
	|| (id == 10 && ISBN_str[12] == 'X')) {
		std::cout << "Right";
		return 0;
	}
	
	ISBN_str[12] = (id == 10)?'X':(id + '0');
	std::cout << ISBN_str;
}
posted @ 2020-08-18 12:41  amonqsq  阅读(63)  评论(0编辑  收藏  举报