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

#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;

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试