1031 查验身份证 (未完)

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n  ;
    scanf("%d",&n);
    int sum[100] = {0} ,i,j;
    int a[100][18];
    char M ;
    for(i = 0 ; i <n ; i++){
        for(j = 0 ; j <17 ; j ++){
            scanf("%d",&a[i][j]);
            switch(j){
                case 0 : sum[i] +=7*a[i][j] ; break ;
                case 1 : sum[i] +=9*a[i][j] ; break ;
                case 2 : sum[i] +=10*a[i][j] ; break ;
                case 3 : sum[i] +=5*a[i][j] ; break ;
                case 4 : sum[i] +=8*a[i][j] ; break ;
                case 5 : sum[i] +=4*a[i][j] ; break ;
                case 6 : sum[i] +=2*a[i][j] ; break ;
                case 7 : sum[i] +=1*a[i][j] ; break ;
                case 8 : sum[i] +=6*a[i][j] ; break ;
                case 9 : sum[i] +=3*a[i][j] ; break ;
                case 10 : sum[i] +=7*a[i][j] ; break ;
                case 11 : sum[i] +=9*a[i][j] ; break ;
                case 12 : sum[i] +=10*a[i][j] ; break ;
                case 13 : sum[i] +=5*a[i][j] ; break ;
                case 14: sum[i] +=8*a[i][j] ; break ;
                case 15 : sum[i] +=4*a[i][j] ; break ;
                case 16 : sum[i] +=2*a[i][j] ; break ;
            }
        }
         switch(sum[i]%11){
                case 0 : M = '1' ; break ;
                case 1 : M = '0' ; break ;
                case 2 : M = 'X' ; break ;
                case 3 : M = '9' ; break ;
                case 4 : M = '8' ; break ;
                case 5 : M = '7' ; break ;
                case 6 : M = '6' ; break ;
                case 7 : M = '5' ; break ;
                case 8 : M = '4' ; break ;
                case 9 : M = '3' ; break ;
                case 10 : M = '2' ; break ;
            }
            if(a[i][j]== M - '\0'){
                printf("ALL pass");
            }
    }
}

猜你喜欢

转载自blog.csdn.net/RRWJ__/article/details/83870431