帮忙写个C语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:14:22
编写程序,输入一个学生的生日(年:y0 月:m0 日:d0),并输入当前的日期(年:y1 月m1 日:d0),输出该学生的实际年龄.
求教达人.本人是新手.不太懂.前面是编出来了,就是计算实际年龄时,不知道该怎么办了.难道要把年月日换成天数来相加减,然后再换成年?
#include <stdio.h>
main()
{int y0,y1,m0,m1,d0,d1,age;
printf("请输入生日:\n");
scanf("%d年%d月%d日",&y0,&m0,&d0);
printf("生日是%d年%d月%d日\n",y0,m0,d0);
printf("请输入当前的日期:\n");
scanf("%年%d月%d日",&y1,&m1,&d1);
printf("现在是%d年%d月%d日\n",y1,m1,d1);
if(m1-m0>0) age=y1-y0;
else if(d1-d0>=0) age=y1-y0;
else age=y1-y0-1;
printf("实际年龄为%d\n",age);
}
按着你的做了,但是不行啊.

#include <stdio.h>
main()
{int y0,y1,m0,m1,d0,d1,age;
printf("请输入生日:\n");
scanf("%d%d%d",&y0,&m0,&d0);
printf("生日是%d年%d月%d日\n",y0,m0,d0);
printf("请输入当前的日期:\n");
scanf("%d%d%d",&y1,&m1,&d1);
printf("现在是%d年%d月%d日\n",y1,m1,d1);
if(m1>m0)
age=y1-y0;
else
if(m1==m0&&d1>=d0)
age=y1-y0;
else
age=y1-y0-1;
printf("实际年龄为%d\n",age);
}

不用:
if(m1-m0>0) age=y1-y0;
else if(d1-d0>=0) age=y1-y0;
else age=y1-y0-1;

你在实际生活中计算年龄还精确到月与日吗?一般就直接年数相减就行了呀。