身份证18位验证

#include<stdio.h>
#define M 10
#define N 18
int main()
{
    int i,j,k;
    int a[M][N];
    int x1=0,y1=0,z;
    int x,y;
    scanf("%d",&i);
        getchar();
    for(j=0;j<i;j++)
    {
        for(k=0;k<N;k++)
        {
            a[j][k]=getchar()-48;
        }
        getchar();
    }

    for( j=0;j<i;j++)
    {
        x1=0;
        y1=0;
        for(z=1;z<=17;z=z+2)
        {
        x1=x1+a[j][z];
        }
        for(z=0;z<=16;z=z+2)
        y1=y1+a[j][z]*3%10;
        x=x1/9;
        y=y1/9;
        if((x+y)%10==0)
            printf("Y\n");
        else
            printf("N\n");
    }
return 0;

}
原文地址:https://www.cnblogs.com/sherlockhomles/p/3089137.html