c语言输入一个人的生日(年月日),并输入当前日期(年月日),计算输出改学生的年龄

c语言输入一个人的生日(年月日),并输入当前日期(年月日),计算输出改学生的年龄算上平年闰年,(不满一岁就减去一岁)

#include<stdio.h>
void main(){
int startYear,endYear,startMonth,endMonth,startDay,endDay,i,p=0,r=0;
printf("请输入出生日期:");
scanf("%d,%d,%d",&startYear,&startMonth,&startDay);
printf("请输入现在日期:");
scanf("%d,%d,%d",&endYear,&endMonth,&endDay);
while(startYear>endYear||startMonth<0||startMonth>12||endMonth<0||endMonth>12){
printf("输入非法!\n");
printf("请输入出生日期:");
scanf("%d,%d,%d",&startYear,&startMonth,&startDay);
printf("请输入现在日期:");
scanf("%d,%d,%d",&endYear,&endMonth,&endDay);
}
if(startMonth>endMonth||startDay>endDay){
endYear-=1;
}
for(i=startYear;i<endYear;i++){
if((i%4==0&&i%100!=0)||i%400==0){
r++;
}else{
p++;
}
}
printf("该学生年龄是%d岁,经过了%d个平年,%d个闰年!\n",(endYear-startYear),p,r);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-24
#include<stdio.h>
int main()
{int y1,m1,d1,y2,m2,d2,years;
scanf("%d%d%d",&y1,&m1,&d1);
scanf("%d%d%d",&y2,&m2,&d2);
years=y2-y1+(m2>m1||m2==m1&&d2>=d1);
printf("年龄=%d\n",years);
return 0;

}
相似回答