前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言实例之身份证号获取生日性别

C语言实例之身份证号获取生日性别

作者头像
程序员小顺
发布2021-10-13 10:37:30
5.4K0
发布2021-10-13 10:37:30
举报
文章被收录于专栏:知识小木屋

身份证号的第7-14位为出生年月日,比如19670401代表1967年4月1日;其中第17位(倒数第二位)男为奇数,女为偶数;18位为校验码,0-9和X,作为尾号的校验码。

核心思路

C语言头文件 <stdio.h> 中的 scanf(); 输入身份证号,利用 %nd(n为整数,在这里表述读入几位数)将身份证分段读入,若第17位数为奇数,则性别为男;若第17位数为偶数,则性别为女,最后用C语言头文件 <stdio.h> 中的 printf(); 输出生日和性别。

源代码如下:

代码语言:javascript
复制
#include <stdio.h>
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日 ", yy, mm, dd);
    if (k % 2 == 0) {
        printf("性别:女");
    } else {
        printf("性别:男");
    }
    return 0;
}

运行编译上面的代码,将会输入以下结果:

代码语言:javascript
复制
请输入18位身份证号:
421102200202023233
生日:2002年02月02日 性别:男
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知识小木屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档