...并输入当前的日期(年月日),输出该生的实际年龄。

发布网友

我来回答

3个回答

热心网友

#include<stdio.h>
int main()
{
int year,month,day;
int birthY,birthM,birthD;
int N;
printf("请输入生日");
scanf("%d%d%d",&birthY,&birthM,&birthD);
printf("请输入当前日期");
scanf("%d%d%d",&year,&month,&day);
N=year-birthY;
if(month<birthM)
N--;
else
if(month==birthM)
if(day<birthD)
N--;
printf("年龄为%d\n",N);
return 0;
}
没调试。

热心网友

#include<stdio.h>
int main()
{
int year,month,day;
int birthY,birthM,birthD;
int N;
printf("请输入生日");
scanf("%d%d%d",&birthY,&birthM,&birthD);
printf("请输入当前日期");
scanf("%d%d%d",&year,&month,&day);
N=year-birthY+1; /*改了这里!!!!!!!!!!!!*/
if(month<birthM)
N--;
else
if(month==birthM)
if(day<birthD)
N--;
printf("年龄为%d\n",N);
return 0;
}
分别给我,人一出生是1岁,没有零岁的

热心网友

#include<stdio.h>
main()
{
int y0,m0,d0,y1,m1,d1,y,m,d;
while(1)
{
printf("请输入学生的生日");scanf("%d %d %d",&y0,&m0,&d0);
printf("请输入当前的日期");scanf("%d %d %d",&y1,&m1,&d1);
y=y1-y0;
m=m1-m0;
d=d1-d0;
//printf("该学生的年龄为%d岁%d月%d天",y,m,d);
if(y>=0)
{
if(m>=0)
{
if(d>=0)printf("1该学生的年龄为%d岁",y);//y>=0,m>=0,d>=0输出年龄
else
{
m=m-1;//如果d<0,m减1,再判断m是否大于等于0
if(m>=0)printf("2该学生的年龄为%d岁",y);//y>=0,m>=0,d<0输出年龄
else
{
y=y-1;//如果m<0,y减1,再判断y是否大于等于0
if(y>=0)printf("3该学生的年龄为%d岁",y);//y>=0,m<0,d<0输出年龄
else
{
printf("4输入有误");//y<0,m<0,d<0
}
}
}
}
else //那么在y>=0,而m<0的情况下
{
y=y-1;
if(y>=0)printf("6该学生的年龄为%d岁",y);
else
{
printf("7输入有误");
}
}
}
else printf("5输入有误");//最先判断年份,如果y<0,就错了,因为当前日期不可能小于学生的生日
getchar();
getchar();
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com