#include <stdio.h>
//#include <conio.h>  (getche时用 ) 《发布者阿布》
int main(){
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;//a b是省 ,   g h i j 年,    k l月份,   m n日,     q是性别(奇男 偶女),     s是年龄,     r是为了找到最后一位用的变量。 printf("请输入身份证号(最后一位不用输入):\n"); a=getchar()-'0';b=getchar()-'0'; c=getchar()-'0';d=getchar()-'0';e=getchar()-'0';f=getchar()-'0';g=getchar()-'0';h=getchar()-'0';i=getchar()-'0';j=getchar()-'0';k=getchar()-'0';l=getchar()-'0';m=getchar()-'0';n=getchar()-'0';o=getchar()-'0';p=getchar()-'0';q=getchar()-'0';
printf("\n");                                 //来自
printf("来自:");
switch(a*10+b){                                //两个单个数字变成一个数 case 11:printf("北京");break;case 12:printf("天津");break;case 13:printf("河北");break;case 14:printf("山西");break;case 15:printf("内蒙古");break;case 21:printf("辽宁");break;case 22:printf("吉林");break;case 23:printf("黑龙江");break;case 31:printf("上海");break;case 32:printf("江苏");break;case 33:printf("浙江");break;case 34:printf("安徽");break;case 35:printf("福建");break;case 36:printf("江西");break;case 37:printf("山东");break;case 41:printf("河南");break;case 42:printf("湖北");break;case 43:printf("湖南");break;case 44:printf("广东");break;case 45:printf("广西");break;case 46:printf("海南");break;case 50:printf("重庆");break;case 51:printf("四川");break;case 52:printf("贵州");break;case 53:printf("云南");break;case 54:printf("西藏");break;case 61:printf("陕西");break;case 62:printf("甘肃");break;case 63:printf("青海");break;case 64:printf("宁夏");break;case 65:printf("新疆");break;case 81:printf("香港");break;case 82:printf("澳门");break;case 83:printf("台湾地区");break;case 91:printf("国外");break;default:printf("身份证号有误!"); }
printf("\n");
printf("出生日期:%d%d%d%d年%d%d月%d%d日\n",g,h,i,j,k,l,m,n);          //出生日期
s=2022-(g*1000+h*100+i*10+j);//把单个数字变成年           //年龄
if(s>0)
printf("年龄:%d\n",s);
else{
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n");
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n");
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n");
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n");
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n");
printf("       身份证号有误!      身份证号有误!      身份证号有误!\n"); }
(q%2==0)?printf("性别:女\n"):printf("性别:男\n");                     //性别//找最后一位
t=a*7+b*9+c*10+d*5+e*8+f*4+g*2+h*1+i*6+j*3+k*7+l*9+m*10+n*5+o*8+p*4+q*2;
r=t%11;                                //显示最后一位
switch(r){case 0:printf("最后一位是:1");break;case 1:printf("最后一位是:0");break;case 2:printf("最后一位是:X");break;case 3:printf("最后一位是:9");break;case 4:printf("最后一位是:8");break;case 5:printf("最后一位是:7");break;case 6:printf("最后一位是:6");break;case 7:printf("最后一位是:5");break;case 8:printf("最后一位是:4");break;case 9:printf("最后一位是:3");break;case 10:printf("最后一位是:2");break;}
return 0;}

【通过输入身份证前17位得到省份,性别,年龄,出生日期和最后一位】相关推荐

  1. python根据身份证前17位数计算第18位数

    #!/usr/bin/python # -*- coding:utf-8 -*- count=0 sum=0 result=0 sfz =  raw_input("请输入身份证前17位数:& ...

  2. 输入身份证判断性别python最后一位是英文怎么写_身份证号码最后一位,是表示性别用的吗?...

    展开全部 表示性别是倒数第二位,偶为女单为男. 最后一位是数字校验码,主要是为了校验计算机输入公民身份e68a84e8a2ad62616964757a686964616f31333365633963证 ...

  3. Android使用EditView输入框输入身份证时,自动补全身份证最后一位验证位

    Android使用EditView输入框输入身份证时,自动补全身份证最后一位验证位 下面直接贴出代码 //监听输入框文本长度,并自动补全身份证最后一位验证位 mEdit.addTextChangedL ...

  4. java身份证工具类(校验身份证是否合法、通过身份证获取年龄、性别、生日,将15位身份证转为18位等)

    一.简介 因为工作需要经常用到身份证做一些相关操作,于是通过查阅资料总结出一些常用的工具方法,包括校验身份证是否合法.通过身份证获取年龄.通过身份证获取性别.通过身份证获取户籍地址.通过身份证获取生日 ...

  5. C语言身份证信息查询系统(可验证输入身份证是否合法)

    利用C语言做的一个身份证信息查询系统. 原理很简单,也没什么技术难度,城市信息不是很多,就一并加入到了源代码中了. 关于身份证非法的判断还是很有用的,另外以下代码如有需要的可以直接使用或根据需要修改源 ...

  6. C语言身份证信息查询系统(可验证输入身份证是否合法)【已会】

    利用C语言做的一个身份证信息查询系统. 原理很简单,也没什么技术难度,城市信息不是很多,就一并加入到了源代码中了. 关于身份证非法的判断还是很有用的,另外以下代码如有需要的可以直接使用或根据需要修改源 ...

  7. 校验18位身份证号码(判断最后一位校验位和性别)

    身份证号码组成 公民身份号码是一系列组合码,由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码. 18位身份证最后一位校验码的 ...

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

    如果已经知道一个人的身份证前17位,可以通过如下步骤得到第18位: 第一步:将前面的身份证号码17位数分别乘以不同的系数,从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7- ...

  9. MySql 根据身份证号来判别所属省份年龄及性别

    一.背景: 新项目要从别的系统迁移用户表信息,老的用户表里的数据有很多不规范的数据,需要通过表里的身份证号获取用户的省份.年龄.性别. 二.获取方式: 1.通过身份证号获取省份. SELECT CAS ...

  10. PTA Python习题 身份证号码输出性别与出生日期

    题目要求 18位居民身份证号码排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(男性使用1.3.5.7.9等奇数,女性使用2.4.6.8.0等偶数)和一位数字校验码. 从键盘 ...

最新文章

  1. 刚刚,2021泰晤士高等教育亚洲大学排名出炉
  2. 优化自定义函数_玩转reacthooks,自定义hooks设计模式及其实战
  3. Vue项目构建设计说明
  4. [Issue Fixed]-Ubuntu开发环境下遇到的环境问题梳理
  5. 【交通行业】轨迹相似性度量介绍
  6. 如何修改来自ERP 系统的product category
  7. Redis基本使用及百亿数据量中的使用技巧分享
  8. c语言课全部由字母,C语言程序设计课程期末练习试题.doc
  9. springboot security 权限不足_SpringBoot 整合 SpringSecurity 之起源篇(零)
  10. 黑客攻防技术宝典Web实战篇第2版—第3章 Web应用程序技术
  11. Netty工作笔记0073---Neety的出站和入站机制
  12. StringUtils一些常用方法
  13. MDK 中 [WEAK] 的作用
  14. Git:常用命令记录
  15. Word文档如何转PDF?这三款软件值得一试
  16. Pandas官方文档(中文版)Pdf
  17. 马云和卫哲:从不屑到仰慕 从朋友到诀别
  18. OpenCV——证件照自动抠图
  19. java的一些学习网址。。。。。
  20. A component required a bean of type ‘com.yida.data.religion.common.dao.AddressInfoMapper‘ that could

热门文章

  1. 输入阻抗、输出阻抗、阻抗匹配和特性阻抗
  2. FusionCompute产品介绍
  3. 技术干货 | 录屏采集实现教程 —— Android端
  4. PS里面如何批处理图片
  5. zkdemo可以直接调用html,中控指纹机ZKBIOOnline BS开发包 含示例DEMO
  6. ubuntu安装wps后缺少字体无法打开
  7. new操作符具体干了什么
  8. GPS导航知识——DGPS
  9. 黑马点评项目-优惠券秒杀
  10. 商业计划书编写注意事项(我真的是正经的程序员。。)