C语言 身份证号解析年龄和性别

来源:互联网 发布:汉王全屏幕软件下载 编辑:程序博客网 时间:2024/06/05 15:30

任务描述

编写一个程序:输入一个身份证号,判断该号码对应的人是否是1825岁女孩,是则输出”yes,否则输出”no

功能要求

①输入一行给出正整数N<= 100)是输入的身份证号码的个数。

② 判断身份证号持有者的性别。

③计算出该女孩的年龄。

#include<stdio.h>#include<stdlib.h>#include<time.h>void genderJudge(int num){if (num % 2 == 1) {printf("No\t");}else {printf("Yes\t");}}int ageJudge(char *ID){int year, month, day;int age;time_t t;struct tm * lt;time(&t);lt = localtime(&t);year = (ID[6] - '0') * 1000 + (ID[7] - '0') * 100 + (ID[8] - '0') * 10 + (ID[9] - '0');month = (ID[10] - '0') * 10 + (ID[11] - '0');day = (ID[12] - '0') * 10 + (ID[13] - '0');age = lt->tm_year + 1900 - year;if (((lt->tm_mon + 1) > month) && (lt->tm_mday > day)) {age--;}return age;}int main(){char ID[100][18];int N;int i;scanf("%d", &N);for (i = 0; i < N; i++) {scanf("%s", &ID[i]);}for (i = 0; i < N; i++) {genderJudge(ID[i][16]);printf("%d\n", ageJudge(&ID[i]));}system("pause");return 0;}

阅读全文
0 0
原创粉丝点击