题源
团体程序设计天梯赛
PTA 乙级
题解
#include<stdio.h>
int main(void)
{
int weight[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char Z_to_M[11]={'1','0','X','9','8','7','6','5','4','3','2'};
char id_card[18];
int i,j,N;
int sum=0,Z=0,t_f=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
getchar();
for(j=0;j<=17;j++)
{
id_card[j]=getchar();
}
for(j=0;j<=16;j++)
{
sum=sum+(id_card[j]-48)*weight[j];
}
Z=sum%11;sum=0;
if(Z_to_M[Z]!=id_card[17])
{
for(j=0;j<=17;j++)
printf("%c",id_card[j]);
printf("\n");t_f=1;
}
}if(t_f==0)printf("All passed");
return 0;
}