C++学习之路 | PTA乙级—— 1031 查验身份证 (15 分)(精简)

1031 查验身份证 (15 分)
一个合法的身份证号码由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。
输入样例1:

4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X
输出样例1:

12010X198901011234
110108196711301866
37070419881216001X
输入样例2:

2
320124198808240056
110108196711301862
输出样例2:

All passed

		#include<iostream>#include<string>using namespace std;int main(){int a[17] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };char ch[12] = { '1','0','X','9','8','7','6','5','4','3','2' };int n, sum = 0, cnt = 0;cin >> n;string str;for (int j = 0; j < n; j++){cin >> str;sum = 0;int i;for (i = 0; i < str.size()-1; i++){if (str[i] >= '0' && str[i] <= '9'){sum += (str[i] - '0') * a[i];}else{break;}}if (i==str.size() - 1){sum = sum % 11;if (str[str.size() - 1] != ch[sum]){cout << str << endl;cnt++;}}else{cnt++;cout << str<<endl;}}if (cnt == 0){cout << "All passed";}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用DAAB 获取存储过程返回值的方法

方法一 publicstaticAdoHelper helper AdoHelper.CreateHelper("sqlDA"); publicstaticstringcs WebConfigurationManager.AppSettings["SqlServerConnectionString"]; protectedvoidPage_Load(objectsender, EventArgs e) { IDataP…

Linux-----diff命令

Linux 基础命令――比较两个文件内容的不同 语法]: diff [参数] 文件1 文件2 [说明]: 本命令比较两个文本文件&#xff0c;将不同的行列出来 -b 将一串空格或TAB 转换成一个空格或TAB -e 生成一个编辑角本&#xff0c;作为ex 或ed 的输入可将文件1 转换成文件2 [例子]: diff …

骗子、假先知们一夜暴富背后:区块链是回归互联网本来意义的唯一希望|深度

文章转载于微信公众号机器之能&#xff08;ID&#xff1a;almosthuman2017&#xff09;来源&#xff1a;纽约时报杂志 编译&#xff1a;张震、Edison、Rik“编者按”&#xff1a;纽约时报的这篇区块链文章探讨到核心的问题了&#xff0c;互联网应用层分布式架构&#xff08;区块…

Python编程从入门到实践~文件写入

#写入文件 filename ./data/programming.log with open(filename, w) as file_object:file_object.write(I love programming.\n)file_object.write(I love creating new games.\n)#附加到文件 filename ./data/programming.log with open(filename, a) as file_object:file_…

C++学习之路 | PTA乙级—— 1032 挖掘机技术哪家强 (20 分)(精简)

1032 挖掘机技术哪家强 (20 分) 为了用事实说明挖掘机技术到底哪家强&#xff0c;PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式&#xff1a; 输入在第 1 行给出不超过 10 ​5 ​​ 的正整数 N&#xff0c;即参赛人数。随后 N 行&…

css 中 float 和 clear 的作用

相当于原来的 align 的作用&#xff0c;但能力要比 align 强的多。一旦发出float:left或float:right命令&#xff0c;被我浮动的对像就会向左或向右移动直到遇到边框( border) 、填充( padding&#xff09; 、边界( margin &#xff09;或者另一个块对象的边缘为止。 经典样式&…

csplit 分割文件

csplit 按行分割&#xff0c;split 按大小分割。 csplit命令是split的一个变体&#xff0c;split只能够根据文件大小或行数来分割&#xff0c;但csplit能够根据文件本身特点来分割文件。 csplit命令用于将一个大文件分割成小的碎片&#xff0c;并且将分割后的每个碎片保存成一个…

深度解读:深度学习在IoT大数据和流分析中的应用

来源&#xff1a;网络大数据&#xff08;ID:raincent_com&#xff09;摘要&#xff1a;这篇论文对于使用深度学习来改进IoT领域的数据分析和学习方法进行了详细的综述。在物联网时代&#xff0c;大量的感知器每天都在收集并产生着涉及各个领域的数据。由于商业和生活质量提升方…

Python编程从入门到实践~异常

#异常 try:print(5/0) except ZeroDivisionError:print("You cant divide by zero!")#else 代码块 try:answer print(5/0.99) except ZeroDivisionError:print("You cant divide by zero!") else:print(answer)#处理FileNotFoundError filename alice.tx…

在存储过程中使用系统存储过程sp_Excute的注意事项

在编写自己的存储过程的时候&#xff0c;很多的情况下&#xff0c;会使用到系统的存储过程sp_Excute。但是需要的注意的是&#xff0c;如果你在这个存储过程的参数&#xff08;一般是一段sql语句&#xff09;当中进行了临时table的操作&#xff0c;那么对于调用者来说&#xff…

C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)

1033 旧键盘打字 (20 分) 旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键&#xff0c;打出的结果文字会是怎样&#xff1f; 输入格式&#xff1a; 输入在 2 行中分别给出坏掉的那些键…

区块链行业报告|从交易流程到Token经济的全方位解析

来源&#xff1a;36氪研究院作者&#xff1a;孔德云 36氪研究院 分析师中国人在干嘛&#xff1f;首先&#xff0c;目前我国区块链项目只占到了全球的4.6%&#xff0c;相比之下&#xff0c;美国占了36%。由于大环境因素&#xff0c;通过ICO的形式&#xff0c;真正找到落地场景…

Python编程从入门到实践~JSON

import json #AttributeError: module ‘json’ has no attribute ‘dump’ #模块的名字被我命名成了json.py&#xff0c;名称冲突#使用json.dump()和json.load() numbers [2, 3, 4, 5, 66, 12] filename ./data/number.json with open(filename,w) as file:json.dump(numbe…

什么是社会性网络?什么是六度分隔理论?

2007年05月23日 星期三 下午 03:13根据维基百科的解释&#xff0c;“社会网络&#xff08;Social Networking&#xff1a;SN&#xff09;”是指个人之间的关系网络。 据一些不系统的分析&#xff0c;社会网络&#xff08;或称为社会性网络&#xff09;的理论基础源于六度分隔理…

ps 命令详解

From&#xff1a;http://blog.chinaunix.net/uid-25681671-id-3201927.html 进程和作业管理命令&#xff1a;http://man.linuxde.net/sub/进程和作业管理 Linux 关于 进程/线程 的命令 kill 和 pgrep 和 pidof 和 awk 和 pkill 和 killall&#xff1a;https://blog.csdn.net…

C++学习之路 | PTA乙级—— 1035 插入与归并 (25 分)(精简)

1035 插入与归并 (25 分) 根据维基百科的定义&#xff1a; 插入排序是迭代算法&#xff0c;逐一获得输入数据&#xff0c;逐步产生有序的输出序列。每步迭代中&#xff0c;算法从输入序列中取出一元素&#xff0c;将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归…

中国将对人工智能、云计算等行业独角兽IPO即报即审

来源&#xff1a;21世纪经济报道摘要&#xff1a;2月28日下午&#xff0c;有媒体报道称监管层对券商作出指导&#xff0c;包括生物科技、云计算在内的四个行业若有“独角兽”&#xff0c;立即向发行部报告&#xff0c;符合相关规定者可以实行“即报即审”。2月28日下午&#xf…

Gridview利用DataFormatString属性设置数据格式

from: http://blog.sina.com.cn/s/print_4a5e327701000b56.html 首先把Gridview的AutoGenerateColumns属性设为False&#xff08;默认是False&#xff09;&#xff0c;DataField选择相应的字段&#xff0c;特别需要注意的是要把需要设置的字段的HtmlEncode属性设置为False&…

Python 包管理工具 pip 安装 和 使用

pip 安装使用详解&#xff1a;http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa python 包&#xff1a;https://pypi.python.org/pypi 在 python 中安装非自带 python 模块&#xff0c;有三种方式&#xff1a; 1. easy_install2. pip3. 下载压缩包(.zip, .tar, …

如何阅读一本书~主题阅读

一、观察研究范围&#xff1a;主题阅读的准备阶段 &#xff08;1&#xff09;、针对你要研究的主题&#xff0c;设计一份试验性的书目 可以参考图书馆目录、专家的建议与书中的书目索引。 &#xff08;2&#xff09;、浏览这份书目上所有的书&#xff0c;确定哪些与你的主题相…