问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-19 22:32

我来回答

1个回答

热心网友 时间:2023-07-11 09:11

#include
"stdio.h"
void
main()
{
int
i;
/*身份证的第i位*/
int
s[17];
/*定义一个数组用来存放身份证的前17位*/
int
t[17];
/*各位相乘后的数组*/
int
m;
/*余数*/
int
t18;
/*身份证的第18位0--9*/
char
t18c;
/*身份证的第18位X*/
long
int
sum=0;
for(i=0;i<17;i++)
{
printf("请输入身份证的第%d位:",i+1);
scanf("%d",&s[i]);
switch(i+1)
{
/*身份证的1到17位要乘的数一次是7
9
10
5
8
4
2
1
6
3
7
9
10
5
8
4
2
*/
case
1:t[i]=s[i]*7;break;
case
2:t[i]=s[i]*9;break;
case
3:t[i]=s[i]*10;break;
case
4:t[i]=s[i]*5;break;
case
5:t[i]=s[i]*8;break;
case
6:t[i]=s[i]*4;break;
case
7:t[i]=s[i]*2;break;
case
8:t[i]=s[i]*1;break;
case
9:t[i]=s[i]*6;break;
case
10:t[i]=s[i]*3;break;
case
11:t[i]=s[i]*7;break;
case
12:t[i]=s[i]*9;break;
case
13:t[i]=s[i]*10;break;
case
14:t[i]=s[i]*5;break;
case
15:t[i]=s[i]*8;break;
case
16:t[i]=s[i]*4;break;
case
17:t[i]=s[i]*2;break;
}
sum=sum+t[i];
}
printf("前17位相乘后的和为%ld\n",sum);
m=sum%17;
printf("对17取余后的值位:",m);
switch(m)
{
/*各个余数所对应第18位身份证号1
0
X
9
8
7
6
5
4
3
2*/
case
0:t18=1
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
1:t18=0
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
2:t18c='X';printf("这是一个合法的身份证号码,第18位是%c",t18c);break;
case
3:t18=9
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
4:t18=8
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
5:t18=7
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
6:t18=6
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
7:t18=5
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
8:t18=4
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
9:t18=3
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
case
10:t18=2
;printf("这是一个合法的身份证号码,第18位是%d",t18);break;
default:printf("这不是一个合法的身份证号码");
}
printf("\n");
}
C语言作业:4. 设计身份证号合法性验证程序

case 1:t18=0 ;printf("这是一个合法的身份证号码,第18位是%d",t18);break;case 2:t18c='X';printf("这是一个合法的身份证号码,第18位是%c",t18c);break;case 3:t18=9 ;printf("这是一个合法的身份证号码,第18位是%d",t18);break;case 4:t18=8 ;printf("这是一个合法的身...

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

include &lt;stdio.h&gt; include &lt;stdlib.h&gt; include &lt;math.h&gt; int main(){ char st[18];int num[18],w[18],s=0;int i ;scanf("%18s",st);for(i=0; i&lt;18; i++)num[i]=st[i]-'0';for( i=0; i&lt;18; i++)printf("%2d ",num[i]);printf("\n");if(num[16]%2==0)...

C语言设计程序判断身份证号的合法性,并输出到指定日期的天数?_百度...

30,31,30,31}};const int WF[17] = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};const char PIN[11] = { '1', '0', 'X', '9'

c语言 关于身份证是否合法问题 求大神看看我写这个哪里错了0.0_百度...

1,基本语法错误,if () 应该是测试等"==",不应该用赋值 "="2.仔细看下你的 if(valid)的 "}"的位置是不是放错了,放到 if(valid=1) printf("合法身份证号");下面了,应该在if(valid=0) printf("非法身份证号");的上面吧!3.取数组的第一个值应该是 [0], 而不是 [1]

C语言题目:身份证号码与性别?

&lt;string.h&gt; int main(int argc,char *argv[]){ char s[19];printf("Please enter your ID number...\nID=");if(scanf("%18s",s)!=1 || strlen(s)!=18){ printf("Input error, exit...\n");return 0;} printf("%c\n",(s[16]&amp;1 ? 'M' : 'F'));return 0;} ...

c语言程序设计写个函数判断身份证男女

(不包括各位是字母的)include&lt;stdio.h&gt; main(){ int a[18];printf("Please input a:");for(i=0;i&lt;18;i++)scanf("%d",&amp;a[i])if(a[17]%2==0)printf("女");else if(a[17]%2==1)printf("女");else printf("无法识别");} ...

C语言设计身份证号信息提取器:输入一身份证号后输出此人的出生年、月...

include&lt;string.h&gt; int main(){ char id[]="410246198704030811";printf("请输入您的身份证号(18位数字):\n");scanf("%s",id);printf("您出生在%c%c%c%c年%c%c月%c%c日\n",id[6],id[7],id[8],id[9],id[10],id[11],id[12],id[13]);system("pause");return 0;} ...

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

这个简单,用以字符串str[20]={身份证号码};出生月日就是倒数第7个元素到第14个元素结束;用一个for循环,如str[20]="45032519901016127X";for(i=6;i&lt;=13;i++) putchar(str[i]);就可以了 结果是19901016,有木有?

身份证号码最后一位验算 C语言

main(void){ int id[18];//这里初始化时不应为空,要么char id[18]={0};或者直接char id[18];//还有,身份证号码是数字,所以应该是int不是char int i,sum=0;printf("Please input indentity card number\n");for (i=0;i&lt;=16;i++)//for (i=0;i&lt;16;i++)后面有 id[16]*=2...

利用C语言编写一段程序,能够实现身份证的查询 用链表的形式查询,如查询...

功 能: 身份证号查询 随机生成身份证号 typedef struct enum srand rand 使用演示 函数指针使用演示 Linux系统源代码中的公共列表LIST使用演示 文件名: codeid2.cpp 相关文件: 全国各地区的代码信息文件code.bin 作 者: 李永 日 期: 2010.9.4 / include &lt;stdio.h&gt; include ...

合法与合法性 合法性和合理性 反向工程合法性 反向工程合法性条件 企业合法性 合法性与正当性 给我一个身份证号码 成年的人的身份证号 身份证号码大 全
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
五瘟神者道教的瘟神 财神赵公明形象 苹果手机怎么查找去过的位置记录 怎么查找苹果手机最近去过什么地方? 小米手机怎样设置闹钟? 好女孩与坏女孩基本信息 小米1S设置闹钟之后关机,到了闹钟开机时间一直处于动画MI的状态时什么... 圣萨尔瓦多岛东太平洋圣萨尔瓦多岛 科隆群岛地理特点 求跪《好女孩(THE GOOD GIRL)》英文字幕。。。 身份证怎么验证? 如何校验excel 表中的身份证信息是否正确 高德导航怎么开启蓝牙耳机模式 苹果6手机高德地图蓝牙设置方法 用蓝牙耳机听歌的时候打开高德地图,耳机就没有声... 高德连着蓝牙把车停在小区一个位置了,在高德里面... 手机连着车上的蓝牙,用高德导航怎么手 求教,关于手机高德地图通过蓝牙和汽车连接问题 高德地图为什么要下架蓝牙功能? 高德地图手机成功连接蓝牙耳机,但是蓝牙耳机没有... 高德地图开着蓝牙可以用语音小德吗? 为什么qq音乐与高德地图蓝牙音量一样 手机版高德地图。为什么手机与蓝牙耳机连接后蓝牙... 高德地图蓝牙分开 为什么高德地图连蓝牙变简洁模式 word2007怎么做批注? word2007怎样插入批注怎样放在页尾 如何在word2007中插入批注 如何给word2007文档添加批注 如何在word2007添加批注 身份证有效实名 身份证核验需要本人去吗? 校验身份证号码是否正确 C语言.设计身份证号合法性验证程序 怎么算验证身份证是真是假 java怎么验证身份证合法, Excel 验证身份证号是否合法,求助 c++对输入的身份证进行合法性验证 如何依法有效的开展居民身份证查验工作 什么人有权力检查身份证 身份证正确性的验证 我要和人签合同,公安局管验身份证真伪吗? 以正则表达式的方式校验身份证号码是否正确 如何验证excel身份证号是否合法 可以实名认证的身份证号码 2021年如何有效身份证和真实姓名? 教师应该具备哪些心理素质? 作为一名教师应当具备哪些优良的心理品质? 一个合格教师应该具备哪些基本素养 教师应具备哪些心理素质