题目:输入一个人的出生年月日及当前年月日求那个人现在的年龄,注意平年、闰年的判断。
代码如下:
#include<stdio.h> //定义了三个变量类型、一些宏和各种函数来执行输入和输出
int main() {
int year, month, day, newyear, newmonth, newday, wang; //定义出生和当前的年、月、日
printf("请输入生日(包含年月日,请用空格隔开):\n");
scanf_s("%d %d %d", &year, &month, &day);
printf("请输入当前日期(包含年月日,请用空格隔开):\n");
scanf_s("%d %d %d", &newyear, &newmonth, &newday);
wang = newyear - year; //用当前年份减去出生年份,并赋值给wang
if (newmonth - month > 0) { //如果出生月份大于当前月份,则直接输出
printf("当前年龄为:\n");
printf("%d\n", wang);
}
else {
if (newmonth - month == 0) { //如果月份相减等于0,则执行日的判断
if (newday >= day) { //如果当前日大于出生的日,则输出
printf("当前年龄为:\n");
printf("%d\n", wang);
}
else {
printf("当前年龄为:\n");
printf("%d\n", wang - 1); //如果日期相减条件为假,则wang减去1
}
}
else {
printf("当前年龄为:\n");
printf("%d\n", wang - 1); //如果月份相减条件为假,则wang减去1
}
}
return 0;
}