知识点:
分支控制:分支控制
#include <array>
#include <csignal>
#include <iostream>
using namespace std;
int main() {
string ISBN;
int len;
int sum = 0;
int index = 1;
char res;
cin >> ISBN;
len = ISBN.size();
for (int i = 0; i < len - 2; i++) {
if (ISBN[i] == '-') {
continue;
}
sum += (ISBN[i] - '0') * index;
index++;
}
if (sum % 11 == 10) {
res = 'X';
} else {
res = sum % 11 + '0';
}
if (res == ISBN[len - 1]) {
cout << "Right";
} else {
ISBN[len - 1] = res;
cout << ISBN;
}
return 0;
}
/*
int main() {
int language;
int press;
int number;
char check;
int index = 9;
int sum = 0;
char res;
int temp = 0;
array<int, 10> ISBN = {0};
scanf("%1d-%3d-%5d-%1c", &language, &press, &number, &check);
// printf("%d %d %d %d", language, press, number, check);
temp = number;
while (temp > 0) {
ISBN[index--] = temp % 10;
temp /= 10;
}
temp = press;
while (temp > 0) {
ISBN[index--] = temp % 10;
temp /= 10;
}
ISBN[index] = language;
for (int i = 1; i < 10; i++) {
// cout << ISBN[i];
sum += ISBN[i] * i;
}
// for (int i : ISBN) {
// cout << i;
// }
// cout << sum;
res = sum % 11 + '0';
if (res == '10') {
res = 'X';
}
if (res == check) {
printf("Right\n");
} else {
printf("%d-%d-%d-%c\n", language, press, number, res);
}
return 0;
}
*/



京公网安备 11010502036488号