C语言.设计身份证号合法性验证程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言.设计身份证号合法性验证程序相关的知识,希望对你有一定的参考价值。
设计身份证号合法性验证程序
1、接受键盘输入的身份证号
2、验证身份证是否合法有效
3、显示身份证相关信息:所在行政区域,出生年月日,性别
#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语言.设计身份证号合法性验证程序的主要内容,如果未能解决你的问题,请参考以下文章