#include<stdio.h> //nanzhao
int main()
{
int N;
int leap=1;
scanf("%d",&N);
char a[N][20];
int i,j;
int x,sum=0;
for(i=0;i<N;i++)
{
scanf("%s",a[i]);
}
int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char M[12]="10X98765432";
for(i=0;i<N;i++)
{
sum=0;
x=0;
for(j=0;j<17;j++)
{
x=(a[i][j]-48)*b[j];
sum+=x;
x=0;
}
sum=sum%11;
if(a[i][17]!=M[sum])
{
printf("%s\n",a[i]);
leap=0;
}
}
if(leap==1) printf("All passed\n");
return 0;
}
查验身份证号(C语言)
最新推荐文章于 2024-10-16 11:55:59 发布
该C程序读取多个字符串,然后使用特定算法计算每个字符串的校验和,与预定义的模值进行比较。如果字符串的最后一位不匹配,程序将打印出该字符串,表示未通过校验。所有字符串均通过后,程序输出Allpassed。
摘要由CSDN通过智能技术生成