任务描述
编写一个程序:输入一个身份证号,判断该号码对应的人是否是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;
}