给出年月日,编写函数计算该日是该年的第几天,用c语言编写
时间: 2023-11-28 22:07:24 浏览: 78
以下是实现代码:
```c
#include <stdio.h>
int isLeapYear(int year) {
return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0);
}
int dayOfYear(int year, int month, int day) {
int daysInMonth[] = {31, (isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31 ,30, 31};
int i, days = 0;
for (i = 0; i < month - 1; i++) {
days += daysInMonth[i];
}
days += day;
return days;
}
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, dayOfYear(year, month, day));
return 0;
}
```
该函数可以通过给定年月日,计算出是该年的第几天。其中使用了 isLeapYear 函数来判断是否为闰年,使用 daysInMonth 数组来记录每个月份的天数。最后使用一个 for 循环来累加天数并返回最终结果。
阅读全文