题记(48)--L1-016 查验身份证

目录

一、题目内容

二、输入描述

三、输出描述

四、输入输出示例

五、完整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


五、完整C语言代码

AC代码~#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
char s[100][20];
int main(){int N;scanf("%d",&N);char ch = getchar();int* flag = (int*)malloc(N*sizeof(int));for(int i=0;i<N;i++)flag[i] = 1;char hash[11];hash[0] = '1';hash[1] = '0';hash[2] = 'X';hash[3] = '9';hash[4] = '8';hash[5] = '7';hash[6] = '6';hash[7] = '5';hash[8] = '4';hash[9] = '3';hash[10] = '2';for(int i=0;i<N;i++)scanf("%s",s[i]);for(int i=0;i<N;i++){int j=0;while(j<17){if(s[i][j] < '0' || s[i][j] > '9'){flag[i] = 0;break;}j++;	}if(flag[i] == 1){int sum = (s[i][0]-'0')*7 + (s[i][1]-'0')*9 + (s[i][2]-'0')*10 + (s[i][3]-'0')*5 + (s[i][4]-'0')*8 + (s[i][5]-'0')*4 + (s[i][6]-'0')*2 + (s[i][7]-'0')*1 + (s[i][8]-'0')*6 + (s[i][9]-'0')*3 + (s[i][10]-'0')*7 + (s[i][11]-'0')*9 + (s[i][12]-'0')*10 + (s[i][13]-'0')*5 + (s[i][14]-'0')*8 + (s[i][15]-'0')*4 + (s[i][16]-'0')*2;if((hash[sum%11]) != s[i][17])flag[i] = 0;}}int ok = 1;for(int i=0;i<N;i++){if(flag[i] == 0){ok = 0;break;}}if(ok == 1)printf("All passed\n");else{for(int i=0;i<N;i++){if(flag[i] == 0)printf("%s\n",s[i]);}}	return 0;
}

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

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

相关文章

Postman报错提示 Could not get any response怎么解决

在通过postman请求做接口测试的过程中&#xff0c;有时候会遇到一些报错&#xff0c;当遇到这些报错我们不要着急&#xff0c;看着具体哪里报错&#xff0c;然后进行解决 postman报错 经常使用postman的小伙伴们都应该遇到过一些报错&#xff0c;遇到报错的时候我们不要着急&…

这可是全网网工华为认证学习笔记最完整,最详细的版本,没有之一

文章篇幅较长&#xff0c;耐心看完你一定有所收获。 华为认证是什么&#xff1f; 其实就是由华为公司所提出的评价网络工程师专业能力的一个认证&#xff0c;它分为三个级别&#xff0c;分别是这个华为认证的工程师&#xff08;HCIA&#xff09;&#xff0c;华为认证的高级工程…

探索程序员职业赛道:中国行业发展趋势与市场需求分析

目录 写在开头1.中国行业发展趋势与市场需求分析1.1. 前端开发1.2. 后端开发1.3. 数据科学与人工智能1.4. 区块链技术1.5 软件工程与项目管理1.6 嵌入式开发与物联网 2.如何选择适合自己的职业赛道写在最后 写在开头 作为程序员&#xff0c;选择适合自己的职业赛道是至关重要的…

CTP-API开发系列之三:柜台系统简介

CTP-API开发系列之三&#xff1a;柜台系统简介 CTP-API开发系列之三&#xff1a;柜台系统简介中国金融市场结构---交易所柜台系统通用柜台系统极速柜台系统主席与次席 CTP柜台系统CTP组件名称对照表CTP柜台系统程序包CTP柜台系统架构图 CTP-API开发系列之三&#xff1a;柜台系统…

重新排序。

问题描述 给定一个数组A和一些查询 L,R求数组中第L至第 R个元素之和。 小蓝觉得这个问题很无聊,于是他想重新排列一下数组使得最终每个查 询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可 以增加多少? 输入格式 输入第一行包含一个整数n。 第二行包含n个…

钉钉群内自定义机器人发送消息功能实现

文章目录 钉钉群内自定义机器人发送消息功能实现1、设置webhook自定义机器人2、查看官方文档&#xff0c;使用open api3、编写业务代码4、发送成功结果如下 钉钉群内自定义机器人发送消息功能实现 1、设置webhook自定义机器人 设置关键词 添加完成后&#xff0c;获得改机器人的…

直流电磁铁计算公式

直流电磁铁计算公式 1. 磁势2. 磁场强度3. 磁感应强度4. 电磁吸力5. 线圈发热 1. 磁势 产生磁场的磁势计算公式&#xff1a; F N ⋅ I FN \cdot I FN⋅I N&#xff1a;是线圈匝数&#xff0c;I&#xff1a;是线圈中的电流注&#xff1a;线圈过热&#xff0c;可以减小电流&am…

力扣--从前序与中序遍历序列构造二叉树

题目&#xff1a; 思想&#xff1a; 首先先序遍历能确定根节点的值&#xff0c;此时查看该值在中序遍历中的位置&#xff08;如果索引为i&#xff09;&#xff0c;那么i左侧为左子树&#xff0c;i 右侧为右子树。从中序数组中即可看出左子树结点个数为 i&#xff0c;右子树节点…

浅析扩散模型与图像生成【应用篇】(八)——BBDM

8. BBDM: Image-to-Image Translation with Brownian Bridge Diffusion Models 本文提出一种基于布朗桥&#xff08;Brownian Bridge&#xff09;的扩散模型用于图像到图像的转换。图像到图像转换的目标是将源域 A A A中的图像 I A I_A IA​&#xff0c;映射到目标域 B B B中得…

大唐杯学习笔记:Day7

1.1 随机接入 随机接入概述 UE完成下行同步后,根据不同的触发场景,进行随机接入过程,完成UE和基站之间的上行同步。包括竞争随机接入和非竞争随机接入。 随机接入信道结构 CPSequenceGT T C P T_{CP} TCP​ T μ T_{\mu} Tμ​ T G T T_{GT} TGT​ GT:Guard Time(保护时间…

详解事件循环机制

浏览器最主要的进程 &#xff1a; 渲染主线程 如何理解JS的异步 任务没有优先级&#xff0c;但消息队列有优先级 阐述一下JS的事件循环

图书馆管理系统(2)

接下来实现系统的子菜单&#xff0c;在写一个子模块的时候&#xff0c;其他子模块先屏蔽起来&#xff0c;因为没实现&#xff0c;代码运行就通不过 屏蔽起来写上todo&#xff0c;后面(Ctrl键F)搜索&#xff0c;找todo来实现 先来实现图书管理模块 第一步&#xff0c;先要把图…

IDEA 配置文件乱码,项目编码设置

见下图 其中第一二项控制全局以及工程的编码格式&#xff0c;下方的则是 properties 配置文件的格式&#xff0c;统一调整为 UTF-8 后不再乱码

el-el-dialog 弹窗抖动 完美解决

javasc在这里插入代码片ript html, body { height: 100%; /* 以下css是用来解决el-diao 窗口抖动的问题 */ overflow-y: auto !important; padding-right: 0 !important; } html { overflow-y: overlay; overflow: auto; } html::-webkit-scrollbar { width: 10px; height: 1p…

网络原理初识(2)

目录 一、协议分层 1、分层的作用 2、OSI七层模型 3、TCP / IP五层&#xff08;或四层&#xff09;模型 4、网络设备所在分层 5、网络分层对应 二、封装和分用 发送过程&#xff08;封装&#xff09; 1、应用层(应用程序) QQ 2、输入层 3、网络层 4、数据链路层 5、物理…

ai直播数字人!AI大模型应用开发高级技术

AI直播数字人是一种新兴的技术应用&#xff0c;通过AI大模型的应用开发&#xff0c;实现了数字人的虚拟化呈现。数字人作为一种虚拟人物形象&#xff0c;在直播平台或其他媒介中可以展现出真实人物的表情、动作和声音&#xff0c;并且能够与观众进行实时互动&#xff0c;给人带…

[linux] GPUS=${1:-4} 如果$1为空,则使用其后的默认值

这行代码GPUS${1:-4}是一个Bash shell中的参数扩展语法,用于设置环境变量GPUS的值。 其中: $1表示传递给脚本的第一个位置参数。:-是一个参数扩展操作符,表示如果$1为空或未设置,则使用其后的默认值。4是默认值,如果没有传递位置参数或$1为空,则GPUS的值会被设置为4。 因此,…

视觉slam十四讲学习笔记(七)视觉里程计 2

介绍直接法的原理&#xff0c;并利用 g2o 实现直接法中的一些核心算法。 前言 1. 理解光流法跟踪特征点的原理。 2. 理解直接法是如何估计相机位姿的。 3. 使用 g2o 进行直接法的计算。 哔哩哔哩课程连接&#xff1a;视觉SLAM十四讲ch7_2_哔哩哔哩_bilibili 一、直接法…

web服务,C/S框架,单设备登陆实现方案

背景: 原登陆接口,校验密码通过后,使用springsession记录会话信息,将信息存入在redis中 基于原逻辑进行多设备登陆开发,默认的时候多设备登陆开关开启,即按原来逻辑处理,只要密码登陆校验成功之后,都会将当前的会话信息存入redis中. 当多设备开关关闭时候,同一个账号同一时间只…

django中URL配置和视图渲染

前提&#xff1a; 使用django-admin startproject XXX创建了一个django项目【项目目录为project】 django-admin startproject project 一&#xff1a;控制器配置 在项目的根目录创建一个Controller目录&#xff0c;后续所有的控制器方法都放在此目录下 这里我们在Control…