代码改变世界

身份证18位验证

2013-05-20 19:00  夏洛克·福尔摩斯  阅读(229)  评论(0编辑  收藏  举报
#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;

}