走弯路了
#include<stdio.h>
int main()
{
int sum = 0, last = 0;
char c = 0;
//输入值可能为字母,用char变量,得到值-48即为对应数字
int arr[4] = { 0 };
scanf("%d-%d-%d-%c", &arr[0], &arr[1], &arr[2], &c);
//算出总值
sum = arr[0] * 1 + (arr[1] / 100) * 2 + ((arr[1] / 10) % 10) * 3 + (arr[1] % 10) * 4 + (arr[2] / 10000) * 5 +
((arr[2] % 10000) / 1000) * 6 + (((arr[2] % 1000) / 100)) * 7 + (((arr[2] % 1000) % 100) / 10) * 8 + (arr[2] % 10) * 9;
last = sum % 11;//正确的末尾值
//输入末尾数字可能为正常数字或则/X
if (last == c - 48 || ((last == 10) && (c == 88)))
printf("Right\n");
//需要输出,输出分为输出中需要输出X或者不需要输出X
else
{
if (last != 10)
printf("%d-%d-%d-%d", arr[0], arr[1], arr[2], last);
else
printf("%d-%d-%d-X", arr[0], arr[1], arr[2]);
}
return 0;
}