小练习:求身份证最后一位

练习题 | 2020-04-23 22:06:50 | 阅读 2519 次 | 评论(12)
#include <stdio.h>


int main(void)
{
char id[17];
int idx[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char last[11]={'1','0','X','9','8','7','6','5','4','3','2'};
int sum=0,i;
printf("Please input ID:");
for (int i=0;i<17;i++)
{
scanf("%c",&id[i]);
//printf("%c",id[i]);
}

for (int i=0;i<17;i++)
{
sum+=(id[i]-'0')*idx[i];
}

i=sum%11;
//printf("sum=%d,i=%d",sum,i); 
printf("\n\n\nThe last is:%c",last[i]);
    
return 0;
}
文章评论,共12条
露负结代(游客)
2020-04-24 22:01
1
hbccc(作者)
2020-04-24 22:32
2
以下是引用露负结代在2020-04-24 22:01的发言1
nb
谢谢夸奖
萌新想学编程
2020-04-26 17:34
3
老师,收徒弟吗?我想变得跟你一样。
hbccc(作者)
2020-04-26 21:06
4
老师?是在跟我说话么?不是在跟我说吧,我可不敢当老师,连入门都没有啊,呵呵。如果不嫌弃,咱俩就一块学吧,多交流多沟通,一起学习。Q449224619
以四九卷(游客)
2020-05-01 06:38
5
vfp一个函数right(c,n)
吧棉急访(游客)
2020-05-02 01:36
6
以下是引用以四九卷在2020-05-01 06:38的发言1
vfp一个函数right(c,n)
C语言实现起来复杂一些,但VFP这个函数实现的背后还是用C语言实现的啊
hbccc(作者)
2020-05-02 20:13
7
right(c,n)是不是求c的最后一位啊,我这个可不是这个意思,这个是输入身份证的前17个数,就能计算出身份证的最后一位。
youou3
2020-05-29 16:20
8
这个代码挺好用的,网上生成的身份证号验证都对,就自己的身份证号不对;<
hbccc(作者)
2020-05-30 21:52
9
以下是引用youou3在2020-05-29 16:20的发言1
这个代码挺好用的,网上生成的身份证号验证都对,就自己的身份证号不对;<
是么,不会吧,哪里错了呢,是按照网上计算最后一位的方法编的。
杨小天···
2020-06-01 14:56
10
看不懂感觉好难
午夜精灵
2020-06-01 18:07
11
以下是引用杨小天···在2020-06-01 14:56的发言1
看不懂感觉好难
吾辈仍需努力革命💪🏻
hbccc(作者)
2020-06-06 22:58
12
以下是引用杨小天···在2020-06-01 14:56的发言1
看不懂感觉好难
以下是引用午夜精灵在2020-06-01 18:07的发言2
吾辈仍需努力革命💪🏻
一起努力
游客请输入验证码
浏览10206次