C++综合练习——身份证
题目描述
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
输入
输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。
输出
按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。
样例输入
4 320124198808240056 12010X198901011234 110108196711301866 37070419881216001X
样例输出
12010X198901011234 110108196711301866 37070419881216001X
#include<iostream>
#include<string>
int quan(int k)
{int b[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};return b[k];
}
bool check(char n[])
{for(int i=0;i<17;i++)if(n[i]<'0'||n[i]>'9') return 0;int sum=0;for(int i=0;i<17;i++){n[i]=n[i]-'0';sum+=n[i]*quan(i);}int a=sum%11;char b[11]={'1','0','X','9','8','7','6','5','4','3','2'};if(n[17]==b[a])return 1;else return 0;
}
using namespace std;
int main()
{int n;cin>>n;int d=0;string cun[101];for(int i=0;i<n;i++){string a;char b[18];cin>>a;for(int j=0;j<18;j++){b[j]=a[j];}if(check(b)==0){cun[d]=a;d++;}}if(d==0)cout<<"All passed" ;elsefor(int i=0;i<d;i++){cout<<cun[i]<<endl;}return 0;
}
C++综合练习——身份证相关推荐
- Qt编写的项目作品25-硬件综合应用(热敏打印+身份证+短信猫)
一.功能特点 (一).串口热敏打印 标准热敏打印协议解析,无依赖,支持任意系统. 可打印各种文字信息比如访客单.报警信息等. 可打印条形码即一维码. 可打印二维码,设置二维码尺寸. 支持多线程打印图片 ...
- 网络空间安全之信息追踪——学习笔记 利用门户网站,综合信息追踪
企业信息追踪与防护: 对于一个公司来说,只要牵扯到公司任一信息,都可以称之为公司的机密文件! 知名门户网站搜索: 新华网:http://www.xinhuanet.com/ 党中央直接部署的,重大影响 ...
- 卡号身份证过期的影响
工行客服人员表示,对于即将到期.需要更新身份证的持卡人来说,的确需要到网点更新有关信息,不过,当记者表示为何没有短信提示或其他形式的提醒时,客服人员表示不更新信息未必会影响用卡,只是建议持卡人这么做, ...
- excel表格中18位身份证号码如何转换成出生日期
1.获取出生日期,如果Excel表上,如果A1为身份证号码. =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&&quo ...
- BIT2023 智慧社区综合管理系统-一周目
智慧社区综合管理系统软件需求文档 目录 智慧社区综合管理系统软件需求文档 一.项目前景和范围文档 1.业务需求 1.1应用背景 1.2业务机遇 1.3业务目标 1.4业务风险 2. 项目前景 2.1前 ...
- 智慧社区综合管理平台——需求文档(第九组)
目录 1.引言 1.1 项目简介 1.2 目的 1.3 文档的范围 1.4 预期的读者和阅读建议 1.5 产品的范围 1.6 参考文献 2.总体描述 2.1 产品视角 2.2 用户特征 2.3 系统 ...
- 【软考软件评测师】2019综合知识历年真题
[软考软件评测师]2019综合知识历年真题 2019综合知识历年真题 [软考软件评测师]2019综合知识历年真题 [2019年评测真题第01题:绿色] 01.虚拟存储技术使用()密切配合来构成虚拟存储 ...
- c#和java部署pytorch同事识别两个图片_身份证OCR识别移动端amp;服务器
摘要:由Web Service和其相关网站接收客户端上传的需要识别的图片.当Web Service接收到图片后将其转发给调度服务器,由任务调度程序再把识别请求分发给空闲的识别服务器,终由Web Ser ...
- 人脸和身份证不匹配_人脸识别身份信息不匹配是什么意思
展开全部 你那边一定是用身份证进行面部识别,显示的信息是信息不匹配吧,可能是由于以下因32313133353236313431303231363533e4b893e5b19e3133336131663 ...
- VB如何自动保存_VB编写的身份证号自动识别实用程序
今天我们共同来看一下用VB编写的实用小工具--身份证号自动提取性别.年龄.出生日期工具. 身份证是我们每个公民都有的,根据它可以唯一识别出具体某个人. 程序实现功能: 当用户单击"输入身份证 ...
最新文章
- MySQL · myrocks · MyRocks之memtable切换与刷盘
- Qt+MinGW+OpenCV开发环境在win7系统下的搭建(最新20140423)
- 操作系统性能监控-磁盘IO
- MySQL-在线处理大表数据 在线修改大表的表结构
- 入坑emacs之配置文件 .emas.d/init.el -v1.0
- spring加载顺序
- Android 编程下帧动画在 Activity 启动时自动运行的几种方式
- Multicast注册中心
- elasticsearch的rest搜索--- 查询
- AngularJs ui-router 路由的简单介绍
- CyclicBarrier多线程
- MathType7数学公式编辑使用计算详细教程
- iOS源码资源之各种项目源码汇总
- 已有一个排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中
- 一篇文章通俗易懂的让你彻底理解 Java 注解
- DNP3 模拟器使用教程
- android4.4 fragment,在Activity和多个Fragment之间共享资源
- 计算机仿真技术生物,基于计算机仿真技术的人体生理特性和病理机制研究
- windows junction创建软链接
- H.264视频监控项目
热门文章
- Python QT5文件对话框总是错误代码-1073740791 (0xC0000409)
- 设计师的色彩理论,你知道不同色彩的秘密吗?
- opencv_python阈值处理
- 中科大网上财务报销填写流程
- jupyter不显示直接保存图片
- 日更第7天:Linux常用命令之rm用法
- python爬虫的意义_爬虫的意义与爬虫基本流程
- Ant 下载、安装、使用、教程全面了解
- oracle 取现在的时间,Oracle 获取当前日期及日期格式
- 【Ubuntu+Caffe+CPU】Cannot use GPU in CPU-only Caffe: check mode