C语言 年月日

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:34:10
输入一学生的生日(y0,m0,d0),并输入当前的日期(y1,m1,d1),求该生的年龄?

//还要考虑月日的大小比较

#include<stdio.h>
#include<stdlib.h>

int main(){
int y0,m0,d0,y1,m1,d1;
printf("生日(年 月 日): ");
scanf("%d %d %d",&y0,&m0,&d0);

printf("当前日期(年 月 日): ");
scanf("%d %d %d",&y1,&m1,&d1);

int age=y1-y0;
if(m1<m0 || (m1==m0 && d1<d0))
age--;

printf("年龄: %d",age);
return 0;
}

如果只算整数的话,就是年份相减

定义个结构数组,分别保存年月日
两个变量,一个保存生日一个保存当前日期
然后两个变量相减

这题上面几位都说了八九不离十了,需要注意的是
1: 学生是否闰年出生
2: 输入当前的日期是否闰年
3: 比较2月29号前后

这样才算是比较合适的算法