这道题记得分清情况就好了,末尾是数字、末尾是X以及末尾是否正确,如果不正确要变成对的,对的识别码也要分是数字还是字母
以及要输入字符串的话就用string arr
或者char arr[20];
#include <iostream>
#include <string>
using namespace std;
int main()
{
string arr;
cin >> arr;
int num[10] = { 0 };
int j = 0;
for (int i = 0; i < 13; i++) {
if (arr[i] >= '0' && arr[i] <= '9')
{
num[j] = arr[i] - '0';
j++;
}
}
int sum = 0;
for (int k = 0; k < 9; k++)
{
sum += num[k] * (k + 1);
}
if (((sum % 11 == 10)&&(arr[12]=='X'))|| (sum % 11 == num[9]))
cout << "Right";
else
{
if((sum % 11 == 10))
cout << arr.substr(0, arr.length() - 1) << "X";
else
cout << arr.substr(0, arr.length() - 1) << sum % 11;
}
return 0;
}