为了账号安全,请及时绑定邮箱和手机立即绑定

关于函数的C语言编程问题,大神求救!

关于函数的C语言编程问题,大神求救!

C C# C++
做一个好码农 2017-05-17 22:39:37
输入18位身份证编号字符串,用下面的方法编程检验输入的身份证号是否正确。    即:将前17位数字依次与数组int aW[17] ={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}对应元素相乘,求和,再以11为模求余数,再以余数为校验数组int aXY[11]={1,0,10,9,8,7,6,5,4,3,2}的下标找出校验值,与最后一位相比较,如果不等表示输入的身份证号码有问题,此时提醒重新输入。        注:身份证号码最后一位等于X的,表示值为10。        运行要求:        检验至少三个人的身份证号
查看完整描述

1 回答

?
黄小凡

TA贡献69条经验 获得超36个赞

表示这个题目很有意思,而且也不难啊。都把提示全部告诉你了。提供一下大致思路,先从键盘获取用户输入的身份证号,然后把这个字符串转化为int数组,然后用for循环,依次对应相乘,用一个变量sum求和,最后用sum除11取余数,再对应最后一个数组,找出下标,和身份证最后一位进行对比。最难的一个地方应该就是在于把字符串转化为int数组了,百度一下,这个作为一个函数使用就行了。好想知道,难道我们的身份证后四位就是这样算出来的。。。
查看完整回答
1 反对 回复 2017-05-18
  • 做一个好码农
    做一个好码农
    用字符串数组中的元素(数字)直接进行操作不可以吗?为啥必须还要化成整形数组?
  • 黄小凡
    黄小凡
    问题是,C语言里面好像没有之间将字符串中的数字转换成整型的函数
  • 1 回答
  • 1 关注
  • 2446 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信