C语言
bool ID_card()
{
char crr[20];
scanf_s("%s", &crr, 20);
int arr[] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int tmp = 0;
for(int i=0; i<17; i++)
{
tmp += (crr[i]-'0') * arr[i];
}
int flg = tmp%11;
char drr[] = {'1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'};
return crr[17] == drr[flg];
}
int main()
{
printf("请输入需要验证的身份证号:");
bool tag = ID_card();
if(tag)
{
printf("身份证号码正确\n");
}
else
{
printf("身份证号码不正确\n");
}
return 0;
}
运行结果: