请用c语言自定义1个函数day_of_year(year, month, day),计算并返回年year、月month和日day对应的是该年的第几天。
时间: 2024-05-11 16:20:28 浏览: 125
C语言计算某日是该年的第几天
下面是一个实现day_of_year函数的C语言代码:
```c
int day_of_year(int year, int month, int day) {
const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, leap;
leap = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
for (i = 1; i < month; i++) {
day += days_in_month[i - 1];
}
if (leap && month > 2) {
day += 1;
}
return day;
}
```
该函数接受三个整数参数:年份,月份和日期。它首先确定该年是否为闰年,然后使用一个数组来存储每个月的天数。接下来,它将逐个添加每个月的天数,直到达到给定的月份。如果该年是闰年,并且月份大于2,则还需要添加一个额外的天数。最后,函数返回给定日期在该年中是第几天。
阅读全文