计算年year、月month和日day对应的是该年的第几天C语言编写函数
时间: 2024-02-25 16:57:20 浏览: 191
输入日期计算其对应这一年的第几天C语言
4星 · 用户满意度95%
可以使用以下C语言代码来编写一个函数来计算年 `year`、月 `month` 和日 `day` 对应的是该年的第几天:
```
int dayOfYear(int year, int month, int day) {
int i, days = 0;
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; // 如果是闰年,将2月的天数改为29
}
for (i = 0; i < month-1; i++) {
days += monthDays[i];
}
days += day;
return days;
}
```
在上面的代码中,`year` 是输入的年份,`month` 是输入的月份,`day` 是输入的日期。函数会根据输入的年、月、日计算出该日期是该年的第几天,并返回这个数字。
我们首先定义了一个数组 `monthDays`,它包含了每个月的天数。如果是闰年,将2月的天数改为29。然后,我们使用一个循环来计算该日期之前每个月的天数之和,最后再加上日数即可得到该日期是该年的第几天。
注意:这个函数没有进行输入的合法性检查,例如输入的月份和日期是否合法,是否超出了该年的范围等。在实际使用中,你需要进行相应的检查。
阅读全文