《全国计算机等级考试二级教程—— C 语言程序设计(2019年版)》
第 4 章 选择结构
习题4.21
4.21 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0),并输入当前的日期(年:y1、月:m1、日:d1),输出该生的实际年龄。
- 判断年份
- 判断月份
- 判断天数
ex4_21.c
#include <stdio.h>
int main(void)
{
int y0=0, y1=0, m0=0, m1=1, d0=0, d1=0;
printf("请输入您的生日(例:1999 1 1)\n");
scanf("%d%d%d", &y0, &m0, &d0);
printf("您的生日为:%d年%d月%d日\n", y0, m0, d0);
printf("请输入当前的日期(例:1999 1 1)\n");
scanf("%d%d%d", &y1, &m1, &d1);
printf("当前日期为:%d年%d月%d日\n", y1, m1, d1);
if (y1 >= y0)
{
if (m1 >= m0)
{
if (d1 >= d0)
{
printf("您的实际年龄为:%d岁\n", y1-y0);
}
else
{
printf("您的实际年龄为:%d岁\n", y1-y0-1);
}
}
else
{
printf("您的实际年龄为:%d岁\n", y1-y0-1);
}
}
else
{
printf("您的实际年龄为:0岁\n");
}
return 0;
}
程序运行结果错误,不知道哪里逻辑有问题?