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

练习题 | 2020-04-23 22:06:50 | 阅读 863 次 | 评论(7)
#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;
}
文章评论,共7条
Image
1楼: 露负结代 发表于 2020-04-24 22:01   回复
Avatar
2楼: hbccc 发表于 2020-04-24 22:32   回复
以下是引用露负结代在2020-04-24 22:01的发言1
nb
谢谢夸奖
Avatar
3楼: 萌新想学编程 发表于 2020-04-26 17:34   回复
老师,收徒弟吗?我想变得跟你一样。
Avatar
4楼: hbccc 发表于 2020-04-26 21:06   回复
老师?是在跟我说话么?不是在跟我说吧,我可不敢当老师,连入门都没有啊,呵呵。如果不嫌弃,咱俩就一块学吧,多交流多沟通,一起学习。Q449224619
Image
5楼: 以四九卷 发表于 2020-05-01 06:38   回复
Image
6楼: 吧棉急访 发表于 2020-05-02 01:36   回复
Avatar
7楼: hbccc 发表于 2020-05-02 20:13   回复
right(c,n)是不是求c的最后一位啊,我这个可不是这个意思,这个是输入身份证的前17个数,就能计算出身份证的最后一位。
游客请输入验证码
浏览4458次
文章归档
最新评论