计算给定日期是第几天,用c语言编写函数
时间: 2023-11-30 07:02:48 浏览: 97
C语言计算某日是该年的第几天
下面是一个用C语言编写的计算给定日期是第几天的函数:
```c
#include <stdio.h>
int isLeap(int year) { // 判断是否为闰年
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int dayOfYear(int year, int month, int day) { // 计算天数
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, totalDays = 0;
for (i = 1; i < month; i++) {
totalDays += daysInMonth[i];
}
if (month > 2 && isLeap(year)) { // 如果是闰年且月份大于2月,则总天数加1
totalDays++;
}
totalDays += day;
return totalDays;
}
int main() {
int year, month, day;
printf("请输入年月日:");
scanf("%d%d%d", &year, &month, &day);
printf("%d年%d月%d日是该年的第%d天。\n", year, month, day, dayOfYear(year, month, day));
return 0;
}
```
该函数通过判断是否为闰年和每个月的天数来计算出给定日期是该年的第几天。可以通过调用`dayOfYear`函数来获取给定日期是该年的第几天,例如:
```
请输入年月日:2021 9 15
2021年9月15日是该年的第258天。
```
阅读全文