题目描述

一个合法的身份证号码由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++综合练习——身份证相关推荐

  1. Qt编写的项目作品25-硬件综合应用(热敏打印+身份证+短信猫)

    一.功能特点 (一).串口热敏打印 标准热敏打印协议解析,无依赖,支持任意系统. 可打印各种文字信息比如访客单.报警信息等. 可打印条形码即一维码. 可打印二维码,设置二维码尺寸. 支持多线程打印图片 ...

  2. 网络空间安全之信息追踪——学习笔记 利用门户网站,综合信息追踪

    企业信息追踪与防护: 对于一个公司来说,只要牵扯到公司任一信息,都可以称之为公司的机密文件! 知名门户网站搜索: 新华网:http://www.xinhuanet.com/ 党中央直接部署的,重大影响 ...

  3. 卡号身份证过期的影响

    工行客服人员表示,对于即将到期.需要更新身份证的持卡人来说,的确需要到网点更新有关信息,不过,当记者表示为何没有短信提示或其他形式的提醒时,客服人员表示不更新信息未必会影响用卡,只是建议持卡人这么做, ...

  4. excel表格中18位身份证号码如何转换成出生日期

    1.获取出生日期,如果Excel表上,如果A1为身份证号码. =IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&&quo ...

  5. BIT2023 智慧社区综合管理系统-一周目

    智慧社区综合管理系统软件需求文档 目录 智慧社区综合管理系统软件需求文档 一.项目前景和范围文档 1.业务需求 1.1应用背景 1.2业务机遇 1.3业务目标 1.4业务风险 2. 项目前景 2.1前 ...

  6. 智慧社区综合管理平台——需求文档(第九组)

    目录 1.引言  1.1 项目简介 1.2 目的 1.3 文档的范围 1.4 预期的读者和阅读建议 1.5 产品的范围 1.6 参考文献 2.总体描述 2.1 产品视角 2.2 用户特征 2.3 系统 ...

  7. 【软考软件评测师】2019综合知识历年真题

    [软考软件评测师]2019综合知识历年真题 2019综合知识历年真题 [软考软件评测师]2019综合知识历年真题 [2019年评测真题第01题:绿色] 01.虚拟存储技术使用()密切配合来构成虚拟存储 ...

  8. c#和java部署pytorch同事识别两个图片_身份证OCR识别移动端amp;服务器

    摘要:由Web Service和其相关网站接收客户端上传的需要识别的图片.当Web Service接收到图片后将其转发给调度服务器,由任务调度程序再把识别请求分发给空闲的识别服务器,终由Web Ser ...

  9. 人脸和身份证不匹配_人脸识别身份信息不匹配是什么意思

    展开全部 你那边一定是用身份证进行面部识别,显示的信息是信息不匹配吧,可能是由于以下因32313133353236313431303231363533e4b893e5b19e3133336131663 ...

  10. VB如何自动保存_VB编写的身份证号自动识别实用程序

    今天我们共同来看一下用VB编写的实用小工具--身份证号自动提取性别.年龄.出生日期工具. 身份证是我们每个公民都有的,根据它可以唯一识别出具体某个人. 程序实现功能: 当用户单击"输入身份证 ...

最新文章

  1. MySQL · myrocks · MyRocks之memtable切换与刷盘
  2. Qt+MinGW+OpenCV开发环境在win7系统下的搭建(最新20140423)
  3. 操作系统性能监控-磁盘IO
  4. MySQL-在线处理大表数据 在线修改大表的表结构
  5. 入坑emacs之配置文件 .emas.d/init.el -v1.0
  6. spring加载顺序
  7. Android 编程下帧动画在 Activity 启动时自动运行的几种方式
  8. Multicast注册中心
  9. elasticsearch的rest搜索--- 查询
  10. AngularJs ui-router 路由的简单介绍
  11. CyclicBarrier多线程
  12. MathType7数学公式编辑使用计算详细教程
  13. iOS源码资源之各种项目源码汇总
  14. 已有一个排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中
  15. 一篇文章通俗易懂的让你彻底理解 Java 注解
  16. DNP3 模拟器使用教程
  17. android4.4 fragment,在Activity和多个Fragment之间共享资源
  18. 计算机仿真技术生物,基于计算机仿真技术的人体生理特性和病理机制研究
  19. windows junction创建软链接
  20. H.264视频监控项目

热门文章

  1. Python QT5文件对话框总是错误代码-1073740791 (0xC0000409)
  2. 设计师的色彩理论,你知道不同色彩的秘密吗?
  3. opencv_python阈值处理
  4. 中科大网上财务报销填写流程
  5. jupyter不显示直接保存图片
  6. 日更第7天:Linux常用命令之rm用法
  7. python爬虫的意义_爬虫的意义与爬虫基本流程
  8. Ant 下载、安装、使用、教程全面了解
  9. oracle 取现在的时间,Oracle 获取当前日期及日期格式
  10. 【Ubuntu+Caffe+CPU】Cannot use GPU in CPU-only Caffe: check mode