C语言输入生日(年月日)及当前日期(年月日),求实际年龄(周岁)
时间: 2024-09-30 11:06:10 浏览: 46
在C语言中,计算一个人的实际年龄需要用户输入他们的出生日期(通常以YYYY-MM-DD的形式),然后获取当前日期并进行比较。以下是一个简单的示例程序,假设我们已有一个函数`get_current_date()`用于获取当前日期:
```c
#include <stdio.h>
#include <time.h>
// 获取当前日期
void get_current_date(int *year, int *month, int *day) {
time_t now = time(NULL);
struct tm *current_time = localtime(&now);
*year = current_time->tm_year + 1900;
*month = current_time->tm_mon + 1;
*day = current_time->tm_mday;
}
int main() {
int birth_year, birth_month, birth_day, current_year, current_month, current_day;
// 输入出生日期
printf("请输入您的出生日期 (格式: YYYY-MM-DD): ");
scanf("%d-%d-%d", &birth_year, &birth_month, &birth_day);
// 获取当前日期
get_current_date(¤t_year, ¤t_month, ¤t_day);
// 计算年龄
int age = current_year - birth_year;
if (current_month < birth_month || (current_month == birth_month && current_day < birth_day)) {
age--;
}
printf("您的实际年龄是: %d 周岁\n", age);
return 0;
}
```
在这个程序中,我们首先获取用户的出生日期,然后获取当前日期,并通过检查月份和日子确定是否已经过了生日,如果还没到今年的生日,则减去一岁。最后输出实际年龄。
阅读全文