分析:
- 首先,从键盘输入三个整数,分别代表年、月和日。
- 接下来,根据输入的年份判断是否为闰年。闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除的年份都是闰年。
- 然后,根据输入的月份和闰年与否,计算出该月份之前的天数总和。可以使用一个数组来存储每个月份的天数。
- 最后,将该月份之前的天数总和加上输入的日期,即可得到该日期是该年的第几天。
代码如下:
#include <stdio.h>
int main() {
int year, month, day;
int days = 0;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 计算每个月的天数
int monthDays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
monthDays[1] = 29;
}
// 计算天数
for (int i = 0; i < month - 1; i++) {
days += monthDays[i];
}
days += day;
printf("这一天是该年的第%d天。\n", days);
return 0;
}
键盘输入:
2024回车 3回车 31回车
结果如下: