c语言编程笔录

首页 >   > 笔记大全

笔记大全

c语言如何实现根据用户输入的出生年份并计算出当前年龄

更新时间:2023-12-11

段落一:获取当前年份并输入用户出生年份

通过C语言中的time.h头文件中的time函数可以获取当前的时间戳,然后通过localtime函数获取当前年份

#include<stdio.h>
#include<time.h>
void main()
{
    time_t mytime;
    struct tm *mytm;
    mytime=time(NULL);
    mytm=localtime(&mytime);
    printf("当前年份:%d\n",mytm->tm_year+1900);
    int birth_year;
    printf("请输入您的出生年份:");
    scanf("%d",&birth_year);
}

段落二:计算用户当前年龄

将当前年份减去用户输入的出生年份就是用户当前年龄

int age=mytm->tm_year+1900-birth_year;
printf("您的年龄为:%d岁\n",age);

段落三:考虑输入的年份有误的情况

如果用户输入的出生年份大于当前年份,则输出错误提示

if(birth_year>mytm->tm_year+1900)
{
    printf("输入年份有误,请重新输入。\n");
    scanf("%d",&birth_year);
    age=mytm->tm_year+1900-birth_year;
    printf("您的年龄为:%d岁\n",age);
}

段落四:完整代码示例和总结

下面是完整的代码示例:

#include<stdio.h>
#include<time.h>
void main()
{
    time_t mytime;
    struct tm *mytm;
    mytime=time(NULL);
    mytm=localtime(&mytime);
    printf("当前年份:%d\n",mytm->tm_year+1900);
    int birth_year;
    printf("请输入您的出生年份:");
    scanf("%d",&birth_year);
    if(birth_year>mytm->tm_year+1900)
    {
        printf("输入年份有误,请重新输入。\n");
        scanf("%d",&birth_year);
        int age=mytm->tm_year+1900-birth_year;
        printf("您的年龄为:%d岁\n",age);
    }
    else
    {
        int age=mytm->tm_year+1900-birth_year;
        printf("您的年龄为:%d岁\n",age);
    }
}

以上代码可以实现根据用户输入的出生年份并计算出当前年龄。我们通过time.h头文件来获取当前时间,然后通过scanf函数输入用户的出生年份,将当前年份减去用户输入的出生年份就是用户当前的年龄。

在实现的代码中,我们还考虑了输入年份有误的情况,如果输入的出生年份大于当前年份,则输出错误提示,并要求重新输入。通过以上代码,我们可以在C语言中实现根据用户输入的出生年份并计算出当前年龄。