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语言中实现根据用户输入的出生年份并计算出当前年龄。