C语言.设计身份证号合法性验证程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言.设计身份证号合法性验证程序相关的知识,希望对你有一定的参考价值。

设计身份证号合法性验证程序
1、接受键盘输入的身份证号
2、验证身份证是否合法有效
3、显示身份证相关信息:所在行政区域,出生年月日,性别

参考技术A #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()

char st[18];
int num[18],w[18],s=0;
int i ;
scanf("%18s",st);
for(i=0; i<18; i++)
num[i]=st[i]-'0';
for( i=0; i<18; i++)
printf("%2d ",num[i]);
printf("\n");
if(num[16]%2==0)
printf("女的\n");
else printf("男的\n");
for( i=0; i<17; i++)

w[i]=(int)pow(2,18-i-1)%11;
printf("%2d ",w[i]);
s+=num[i]*w[i];

printf("\ns=%d\n",s);
for( i=0; i<17; i++)

printf("%2d ",num[i]*w[i]);

s%=11;
printf(" = %d\n",s);
if(s==0 && num[17]==1)

printf("\nok\n");
return 0;

if(s==1 && num[17]==0)

printf("\nok\n");
return 0;

if(s==2 && (st[17]=='X' || st[17]=='x'))

printf("\nok\n");
return 0;

if((s>=3 && s<=10) && (s+num[17]==12))

printf("\nok\n");
return 0;

printf("\nerrer\n");
return 0;

以上是关于C语言.设计身份证号合法性验证程序的主要内容,如果未能解决你的问题,请参考以下文章

js验证身份证号

js中验证身份证号码是否正确支持15位和18位身份证号

js中验证身份证号码是否正确支持15位和18位身份证号

用js表单 验证身份证号合法怎么写

C语言程序设计:写一个函数,从给定的身份证号中提取出生年月日

js实现完美身份证号有效性验证