#include <stdio.h> int main() { //13个 数字 //int arr[100] = { 0 }; char arr[100] = { 0 }; //输入 for (int i = 1; i <= 13; i++) { scanf("%c", &arr[i]); } //求和 int sum = 0; int j = 1;//用于数字 1 ~~ 9 for (int i = 1; i <= 11; i++, j++) { if (arr[i] == '-')//如果遇到 '-' 号了 j 就 -- , 保证对应相乘. { j--; } else { sum = (arr[i] - '0') * j + sum; } } //计算出了 sum //求识别码 int know = sum % 11; //判断识别码是否正确 if( arr[13] == 'X') { arr[13] = 10 + '0'; } if (arr[13] - '0' == know ) { printf("Right\n"); } else { arr[13] = know; //输出 for (int i = 1; i <= 13; i++) { if (i == 13) { if (know == 10) { printf("X"); } else { printf("%d", know); } } else { printf("%c", arr[i]); } } } return 0; }