知识点:
分支控制:分支控制
#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; } */