#include<stdio.h>
#include<string.h>
int main()
{
int power[19]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char M[]={'1','0','X','9','8','7','6','5','4','3','2'};
char card[104][25];
int n;
int flag;
int sum=0;
scanf("%d",&n);
int i,j;
for(i=0;i<n;i++)
scanf("%s",card[i]);
int wrong=0;
for(i=0;i<n;i++)
{
flag=0;
sum=0;
for(j=0;j<17;j++)
{
if(card[i][j]>'9'||card[i][j]<'0')
{
wrong++;
flag=1;
break;
}
else
sum=sum+(card[i][j]-'0')*power[j];
}
sum%=11;
if(M[sum]!=card[i][17])
{
flag=1;
wrong++;
}
if(flag)
puts(card[i]);
}
if(!wrong)
printf("All passed\n");
return 0;
}
1031 查验身份证 (15 分)
最新推荐文章于 2023-01-27 21:02:44 发布