如何使用C语言编程在PTA(Programming Task Assignment)环境中求出给定日期是一年中的第几天?
时间: 2024-12-15 14:26:03 浏览: 44
在C语言编程中,要计算给定日期是一年中的第几天,可以使用Zeller's Congruence算法或者直接基于月份和天数来实现。这里我们展示基于月份和天数的简单方法,适用于非闰年的情况:
```c
#include <stdio.h>
int dayOfYear(int month, int day, int year) {
if (month <= 2) {
// 若输入的月份小于3(即公历1月和2月),视作上一年的最后两个月
month += 12;
year--;
}
int days = (day + ((13 * (month + 1)) / 5) + year + (year / 4) - (year / 100) + (year / 400));
return days % 7; // 返回结果对7取余,得到一周中的第几天(0-6,其中0表示周一)
}
int main() {
int month, day, year;
printf("请输入月份(1-12),天数(1-31),和年份:");
scanf("%d%d%d", &month, &day, &year);
int dayOfTheYear = dayOfYear(month, day, year);
printf("给定日期 %d/%d/%d 是一年中的第 %d 天.\n", month, day, year, dayOfTheYear);
return 0;
}
```
此程序会忽略闰年的规则,如果需要精确计算,请注意判断是否为闰年。
阅读全文
相关推荐
















