Files
BasicsOfComputerSoftwareEng…/09/Optional03.c
2022-11-11 23:49:31 +08:00

30 lines
711 B
C

#include <stdio.h>
int main() {
char idCardNo[18] = {0};
int i = 0, sum = 0;
int temp = 0;
char checkSum = 0;
int weigh[17] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
for (i = 0; i < 18; i++) {
idCardNo[i] = getchar();
}
for (i = 0; i < 17; i++) {
temp = ((idCardNo[i] - '0')*weigh[i]) % 11;
sum += ((idCardNo[i] - '0')*weigh[i]) % 11;
}
checkSum = (12 - (sum % 11)) % 11;
if (checkSum == 10) {
checkSum = 'X';
}
else {
checkSum += '0';
}
if (checkSum == idCardNo[17]) {
printf("合法\n");
}
else {
printf("非法,正确校验位是%c", checkSum);
}
return 0;
}