输入身份证号输出年龄和性别c语言实现
时间: 2023-03-26 15:02:51 浏览: 286
输入身份证输出生日,性别
您好,根据您输入的身份证号,可以通过以下代码实现输出年龄和性别:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main()
{
char id[19];
printf("请输入18位身份证号:");
scanf("%s", id);
// 获取出生年月日
char year[5], month[3], day[3];
strncpy(year, id + 6, 4);
year[4] = '\';
strncpy(month, id + 10, 2);
month[2] = '\';
strncpy(day, id + 12, 2);
day[2] = '\';
// 计算年龄
time_t now = time(NULL);
struct tm *tm_now = localtime(&now);
int age = tm_now->tm_year + 190 - atoi(year);
if (tm_now->tm_mon + 1 < atoi(month) || (tm_now->tm_mon + 1 == atoi(month) && tm_now->tm_mday < atoi(day))) {
age--;
}
// 获取性别
int gender = id[16] - '';
char *gender_str = gender % 2 == ? "女" : "男";
printf("年龄:%d\n", age);
printf("性别:%s\n", gender_str);
return ;
}
```
希望能够帮到您!
阅读全文