思路:把数组存入到另一个数组,计算出识别码是否正确,并且要注意X的情况
#include<iostream>
using namespace std;
int main() {
char s[20];
cin >> s;
char* a = s;
int count = 1;
int n[20] = { 0 };
while (*a != '\0') {
if (*a != '-') {
n[count] = *a - '0';
count++;
}
a++;
}
int sum = 0;
for (int i = 1; i <= 9; i++) {
sum += n[i] * i;
}
if (n[10] == sum % 11) {
cout << "Right";
}
else if (s[12] == 'X') {
if (sum % 11 == 10) {
cout << "Right";
}
else {
for (int i = 0; i < 12; i++) {
cout << s[i];
}
cout << sum % 11;
}
}
else {
for (int i = 0; i < 12; i++) {
cout << s[i];
}
if (sum % 11 == 10) {
cout << 'X';
}
else {
cout << sum % 11;
}
}
}