身份证号解析年龄和性别"/>
C语言 身份证号解析年龄和性别
任务描述
编写一个程序:输入一个身份证号,判断该号码对应的人是否是18至25岁女孩,是则输出”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;
}
更多推荐
C语言 身份证号解析年龄和性别
发布评论