输入出生年份计算年龄C语言
时间: 2024-09-25 21:09:17 浏览: 47
在C语言中,计算当前年龄的基本思路是从当前年份减去出生年份。下面是一个简单的函数示例,它会接收用户输入的出生年份作为参数,并返回当前年龄:
```c
#include <stdio.h>
#include <time.h>
int calculate_age(int birth_year) {
time_t now = time(0);
struct tm *ltm = localtime(&now);
int current_year = ltm->tm_year + 1900; // 由于time()返回的是从1970年以来的秒数,所以我们加1900得到实际年份
return current_year - birth_year;
}
int main() {
int birth_year;
printf("请输入您的出生年份:");
scanf("%d", &birth_year);
int age = calculate_age(birth_year);
printf("您的年龄是:%d岁\n", age);
return 0;
}
```
这个程序首先获取当前年份,然后从当前年份中减去出生年份得到年龄。用户需要在`main()`函数中输入他们的出生年份。
相关问题
已知当前日期和出生日期计算年龄c语言
你好,以下是C语言代码示例,可以计算出从出生日期到当前日期的年龄。
```
#include <stdio.h>
#include <time.h>
int main() {
time_t current_time;
struct tm *current_date;
int birth_year, birth_month, birth_day;
int current_year, current_month, current_day;
int age;
// 获取当前日期和时间
time(¤t_time);
current_date = localtime(¤t_time);
current_year = current_date->tm_year + 1900;
current_month = current_date->tm_mon + 1;
current_day = current_date->tm_mday;
// 获取出生日期
printf("请输入你的出生年月日(格式为YYYY/MM/DD):");
scanf("%d/%d/%d", &birth_year, &birth_month, &birth_day);
// 计算年龄
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;
}
```
输入出生年月日输出年龄生日的c语言程序
以下是针对您的问题所编写的C语言程序,它能够通过输入出生年月日,输出一个人的年龄和生日:
```c
#include <stdio.h>
#include <time.h>
int main() {
// 读取出生年月日
int year, month, day;
printf("请输入您的出生年份:\n");
scanf("%d", &year);
printf("请输入您的出生月份:\n");
scanf("%d", &month);
printf("请输入您的出生日期:\n");
scanf("%d", &day);
// 获取当前时间
time_t now = time(NULL);
struct tm *tm_now = localtime(&now);
// 计算年龄
int age = tm_now->tm_year + 1900 - year;
if (tm_now->tm_mon + 1 < month || (tm_now->tm_mon + 1 == month && tm_now->tm_mday < day)) {
age--;
}
printf("您的年龄是:%d\n", age);
// 输出生日
printf("您的生日是:%d年%d月%d日\n", year, month, day);
return 0;
}
```
以上程序能够通过获取当前时间,计算一个人的年龄,并输出其生日。如果您输入的出生日期大于当前日期,程序也能够准确地计算出年龄。希望这个程序对您有所帮助!