如果已经知道一个人的身份证前17位,可以通过如下步骤得到第18位:

第一步:将前面的身份证号码17位数分别乘以不同的系数,从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

第二步:将这17位数字和系数相乘的结果相加。

第三步:用相加结果除以11,得出余数。

第四步:余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2(专门生成一个match数组存放)

#include <stdio.h>
#include <stdlib.h>
void main()
{int a[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},sum=0,i;char b[19];//数组长度比身份证长度多1用于放‘\0’char match[11]={'1','0','x','9','8','7','6','5','4','3','2'};gets(b);for(i=0;i<17;i++)sum+=(b[i]-'0')*a[i];if(match[sum%11]==b[17])printf("correct,出生年月为:%c%c%c%c年%d月%d日",b[6],b[7],b[8],b[9],(b[10]-'0')*10+b[11]-'0',(b[12]-'0')*10+b[13]-'0');elseprintf("wrong");}

C语言编写程序进行公民身份证信息验证。运行程序输入身份证号码,对所输入的身份证号码进行验证,验证身份证号码的校验位是否正确。如果正确,则输出该身份证的出生年月日。相关推荐

  1. c语言计算二次函数顶点坐标,C语言编写一个求一元二次方程的实根的程序。 编辑一个小程序去做一元二次方程的求解(b^24ac)...

    导航:网站首页 > C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二次方程的求解(b^2>4ac) C语言编写一个求一元二次方程的实根的程序. 编辑一个小程序去做一元二 ...

  2. python新年有趣代码_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 为提高大家对"Python"编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代 ...

  3. scala语言编写的maven项目打jar包运行

    项目场景: scala语言编写的maven项目打jar包运行 问题描述 最近在做项目的时候需要把项目部署到docker上面运行,java.编写的maven项目打成jar包再定义入口函数之后就可以运行了 ...

  4. Linux 下后台运行程序,查看和关闭后台运行程序(转载)

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  5. 通过 WMI 从 Linux 获取 Windows 信息/尝试运行程序

    有一个工具可以通过 WMI 从 Linux 获取 Windows 信息,所以我试了一下. 如果这个和ZABBIX能很好的连接起来,看来可以实现真正的无代理(不是通过SNMP). 安装方法如下 1 2 ...

  6. python虚拟机直接加载字节码运行程序_第二章 python如何运行程序

    一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器 ...

  7. 命令行怎么运行go程序_Go教程32: 编译打包运行程序

    这篇文章你能学到 1. 编译Golang代码 2. 指定运行平台 3. 使用UPX压缩Golang最终程序 4. 运行程序 1. 编译Golang代码 1.0 Go编译指令格式 go build [- ...

  8. python程序执行三种方式,Python运行程序的三种方法

    对于python中运行程序的方法,是我们初学时就已经掌握过的了,想必大家会的只是其中的一两种方式. 本篇对程序运行的三种方式进行了整理,分别是:Python的解释器.交互式运行和PyCharm,大家在 ...

  9. python恶搞图_搞几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码!...

    分享一:"啥是佩奇?"让Python语言告诉你 用Python代码创作一副佩奇: # coding:utf-8 import turtle as t t.pensize(4) t. ...

  10. c语言编写老师信息系统源代码,学生信息管理系统c语言版源代码

    自己刚学习c语言时,老师让编写的一个学生信息管理系统,仅供参考!违版必究! ------------------------------------------------------------MR ...

最新文章

  1. python多版本共存使用pip
  2. 困扰数学家90年的猜想,被计算机搜索30分钟解决了
  3. android动画放大后缩小,Android 补间动画 scale(缩放)
  4. redis java应用_redis在JAVA的简单应用
  5. 瓦尔都窗前的一瞥 ①
  6. 学习笔记12JS异步请求
  7. java 计算器 下载_那里可以下载到JAVA编的计算器程序??
  8. 一些不错 Java 实践推荐!建议熟读并背诵默写全文
  9. 中学计算机教室怎么布置,初中功能教室设置标准及数量
  10. jsp九大内置对象的使用详解
  11. 怎样安装linux中文字体,linux如何安装中文字体库
  12. 台式机Ubuntu20.04系统下安装Tenda U12 无线网卡驱动
  13. qpython3安装kivy_kivy学习之路:kivy开发环境架设--- windows篇
  14. 做项目管理需要哪些技能?
  15. c语言ld怎么声明,ld C语言编程开发
  16. C#调试AutoCAD自动加载图形和dll库文件
  17. 数据湖:网易严选的数据湖实践
  18. 实体链接在小布助手和OGraph的实践应用
  19. 因为意外原因无法进入系统,如何在pe盘中进行系统修复?
  20. ctf文件上传基本思路+例题

热门文章

  1. python使用turtle库画出大写的字母z_Python绘图turtle库
  2. 页面第一次数据不出来,刷新一次数据才会出来
  3. 在excel单元格设置格式后,为什么必须双击才会生效
  4. 苹果内存其他怎么清理_你的苹果手机多久清理一次垃圾?教你快速清理内存,释放大量空间...
  5. Excel统一按比例放大多张图片,使得更加美观
  6. linux中rpm包、yum包和dnf包管理
  7. 线性卷积、周期卷积和循环卷积
  8. 5段SQL可以测试出你对SQL性能优化知识了解多少
  9. ComposieAggregate Reuse Principle 合成复用原则
  10. Ubuntu桥接方式连接开发板