C语言编程实现:输入年,月,日,计算出该天是当年的第几天
时间: 2024-11-03 22:23:29 浏览: 22
在C语言中,我们可以使用蔡勒公式(Zeller's congruence)来计算给定日期是一年的第几天。这是一个古老的算法,它基于公历规则来确定某一天是所在年度的第几天。下面是简单的实现步骤:
```c
#include <stdio.h>
int zeller(int year, int month, int day) {
if (month < 3)
month += 12, year--;
return day + ((13 * (month + 1)) / 5) + year + (year / 4) - (year / 100) + (year / 400);
}
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份(1-12):");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 检查输入是否有效,例如01-12月,实际年份大于0
if (month >= 1 && month <= 12 && year > 0) {
int result = zeller(year, month, day);
printf("该日期是当年的第%d天。\n", result);
} else {
printf("无效的输入。\n");
}
return 0;
}
```
阅读全文