用c语言编写身份证号码是否合法

来源:互联网 发布:json xml 比较优缺点 编辑:程序博客网 时间:2024/06/05 03:20

#include<stdio.h>


int  main(){

char arr[19];//要验证的身份证号码

int   brr[17]={7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10,5, 8, 4, 2};//身份证前17位的系数

char  crr[11]={1, 0, -1, 9, 8, 7, 6, 5, 4, 3, 2};  //身份证第18位验证码

int sum=0;

int loop=0;

printf("请输入您的身份证号码\n");

scanf("%s",arr);

for(loop;lopp<17;loop++)

sum=sum+(arr[loop]-‘0’)*brr[loop];

if(sum%11==2){

if(arr[17]=='X')

printf("合法\n");

else

printf("不合法\n");

}

else{

if((arr[17]-'0')==crr[sum%11])

printf("合法\n");

else

printf("不合法\n");

}

return 0;

0 0
原创粉丝点击