这道题很坑。注意这里的权重是直接乘上去,一开始我乘的是百分之几,死活不知道哪里有问题,后来把一百乘上去,就对了。
1031 查验身份证 (15 分) 我的代码 // 1031 查验身份证 (15 分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
题目 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...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位地区、日期编号和顺序编号加1位校验码组成。...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(身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出格式: 按照输入的顺序每行输出1个有问题的身份证号码。...string.h> #include using namespace std; int d[17]= {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; char c[...return false; break; } sum+=(s[i]-'0')*d[i]; } sum%=11; if(c[
题目 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...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个有问题的身份证号码。
PAT 1031.查验身份证(15) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...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个有问题的身份证号码。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/84866000 题目描述: 一个合法的身份证号码由17位地区,日期编号和顺序编号加...输入描述: 输入第一行给出正整数N(身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出描述: 按照输入的顺序每行输出1个有问题的身份证号码。...然后取消cin与stdin的同步压压惊,真的怕TLE,毕竟要对若干个18位数的身份证每一位进行校验。立个标志=真,如果到最后,标志还是为真,表明所有的身份证号码都正常,输出“All passed”。...然后isTrue用来判断每一个身份证号的前17位是否全为数字,若不是数字则isTrue和flag都变成false,用sum来计算身份证号号的每一位数和它所占的权值的乘积之和,将计算出来的总和对11取模得到值...Z,根据题意可知,可以根据ž值来找到对应的校验码中号的值,若IsTrue运算为真但校验码中号和身份证最后一位不相等,这个身份证号也是错误的,需要对错误的身份证号进行输出。
本文链接:https://blog.csdn.net/shiliang97/article/details/100127525 1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加...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个有问题的身份证号码。...我的错误竟然是错在X的大小写上了(身份证号里的X是大写X不是小写的x) #include using namespace std; void solve() { string
1031 查验身份证 (15 分) 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...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个有问题的身份证号码。
cityCode[i],city,2) == 0) { return 0;} } return 1; } //校验一个字符是否是数字 int isdigit(int c)...{ return (c >= '0' && c <= '9'); } //校验出生日期 日期格式 YYYYMMDD如"19870912" /* 身份证15位转18位原理...:身份证中的年份补全,即:第六、七位之间增加“1”“9”(目前大多数是20世纪出身的),现在身份证号码位数是17位。...第18位确定:将身份证号码17位数分别乘以不同系数,为7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 将这17位数字相加除以11,得到余数。...而这个数就是最后一位身份证号码。
L1-016 查验身份证 (15分) 题目要求: 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...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个有问题的身份证号码。...使用 map 容器存储 Z 和 M ,使其一一对应,方便信息查验。其中使用 1 个 vector 容器,用来接收经查验无效的身份证号。
L1-016 查验身份证 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。...输入格式: 输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出格式: 按照输入的顺序每行输出1个有问题的身份证号码。...][19],int n); int fun2(char str[][19],int *arr,int n); void fun3(int *Z,char *M,char str[][19],char c,...=((str[n][i]-'0')*arr[i]); } return sum%11; } void fun3(int *Z,char *M,char str[][19],char c,...int r,int j) { int i; for(i=0;i<11;i++) { if(r==Z[i]) break; } if(M[i]==c)
身份证号的第7-14位为出生年月日,比如19670401代表1967年4月1日;其中第17位(倒数第二位)男为奇数,女为偶数;18位为校验码,0-9和X,作为尾号的校验码。...核心思路 C语言头文件 中的 scanf(); 输入身份证号,利用 %nd(n为整数,在这里表述读入几位数)将身份证分段读入,若第17位数为奇数,则性别为男;若第17位数为偶数,则性别为女...,最后用C语言头文件 中的 printf(); 输出生日和性别。...源代码如下: #include int main() { int i, yy, mm, dd, j, k; char m; printf("请输入18位身份证号...:\n"); scanf("%6d%4d%2d%2d%2d%1d%1c", &i, &yy, &mm, &dd, &j, &k, &m); printf("生日:%4d年%.2d月%.2d
// // @author: 冲哥 // @date: 2021/7/10 10:40 // @description:C语言实现身份证号码的正确性检查 #include #include... #include #include //搜索公众号C语言中文社区,后台回复“C语言”,免费获取200G编程资料。...// 身份证号码检测函数 int Chk18PaperId(const char* sPaperId) { long lSumQT = 0; // 加权因子 int R[] =...,本例便是依据这些来判断身份证号码的正确性。...程序中使用字符串指针作为参数,通过下标的形式,分别对指定位置的数据进行校验,最终校验出身份证号码的正确性。
C语言的开发场景: 应用软件 主要包含各种软件如:QQ,百度网盘,游戏 (上层) 操作系统 windows/macOS/Linux (下 电脑硬件 ...层) C语言是一个擅长底层开发的语言。...而C语言的主要编译器有:Clang/GCC/MSVS。
描述: 我国国标〖GB 11643-1999〗中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。...其校验码(最后一位)计算方法和步骤为: (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和 其中Ai:表示第i位置上的身份证号码数字值...2 (2)计算模 Y = mod(S, 11) (3)通过模Y查下表得到对应的校验码 Y 0 1 2 3 4 5 6 7 8 9 10 校验码 1 0 X 9 8 7 6 5 4 3 2 例如:某身份证前...2 积 7 9 0 5 0 20 2 9 24 27 7 18 30 5 0 0 4 得到和为:167;则模为y=167%11=2 查(3)得校验码为X(大写) 请按上面所述步骤编程,输入一个二代身份证号...,检查该身份证是否正确。
一.C语言是什么?...语言大致可以分为自然语言和计算机语言,自然语言就是人与人日常交流的语言,如汉语、英语、日语等等,计算机语言又可以分为机器语言、汇编语言、高级语言,C语言就是一个高级语言 机器语言:就是由二进制01组合起来的计算机可以直接识别的程序语言是一种面向机器的语言...,比起低级语言易懂易学,可移植性好,编程效率高,但是执行效率没有低级语言高,需要经过编译或解释,C语言就是采用编译的一种高级语言 二.为什么选择C语言 C语言常年霸榜各类高级语言前三,属于基础必学的语言...,其功能强大,而且许多语言都很相似,如果学好C语言,对学习其他语言也有很大帮助 三.编译器的选择 C语言是一门编译型的语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令 常见的编译器有:msvc...+文件,这里没有C文件选项,因为C++和C基本不分家,将后缀名.cpp改为.c就可以了,创建好后就可以开始写我们的第一个C语言程序了 注意:其中.c的文件叫源文件,.h的文件叫头文件(head),后面会慢慢讲到
一、C 语言发展 C 语言 被开发之前 并 没有经过 缜密 的 设计 , 而是在 使用过程中 逐渐完善的 ; C 语言发展经过如下阶段 : 初始阶段 : 1972年至1978年 , C语言 初步形成 ,...C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...2、C 语言与 C++ 语言关系 C 语言 与 C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言的语法 , 但是在 C 语言中不能使用 C++ 的语法 ; 3、C++...语言应用场景 C 语言 和 C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的
一 身份证阅读器SDK使用手册 1....: 需要NT 3.1版或以后版本 Windows: 需要 Windows 98、Windows 2000或以后版本 适用开发语言: Visual C++ 5.0 及以后版本 Visual Basic...读卡操作 原 型:int CVR_Read_Content(int active); 说 明:本函数用于通过阅读器从第二代居民身份证中读取相应信息。...二 开始对接 主要做的功能就是使用身份证刷卡登录系统 大致流程是这样的: 前端是定时请求后台 后台流程就是 初始化连接 卡认证 读卡操作 得到身份证号信息 然后拿到这个身份证号后与数据库的用户对应身份证对比一下...n.invoke(); // 调用方法 return Integer.parseInt(n.getRetVal()); } finally { } } /** * 身份证阅读机获取身份证号
一些C语言的接口见上一篇文章 同样把用到的动态库放到jdk的bin目录文件夹下 Termb.java import com.sun.jna.Library; import com.sun.jna.Native...+ ex.getMessage()); } try { System.out.println("请放置身份证。。。")...读取身份证号码 int readIdReturnCode = 0; try { byte[] a = new byte[4*10]...readIdReturnCode = Termb.instanceDll.GetPeopleIDCode(a,b); System.out.println("读取身份证号码返回值...(filePath,Termb.class); 一个接口对应一个dll文件 因为Termb.dll文件依赖UnPack.dll 和sdtapi.dll 因此加载Termb.dll 先加载 java与C语言
领取专属 10元无门槛券
手把手带您无忧上云