C语言用函数给年月日计算第几天
时间: 2023-12-18 20:02:36 浏览: 99
c语言输入年月日且能防止错误输入
是的,我理解了你的问题。以下是一个用 C 语言编写的函数,可以计算给定日期是该年的第几天:
```c
#include <stdio.h>
int is_leap_year(int year) {
// 判断是否是闰年
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
int day_of_year(int year, int month, int day) {
// 计算给定日期是该年的第几天
int days_of_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, days = 0;
for (i = 0; i < month - 1; i++) {
days += days_of_month[i];
}
days += day;
if (month > 2 && is_leap_year(year)) {
days += 1;
}
return days;
}
int main() {
int year, month, day;
printf("请输入年月日,格式为 yyyy mm dd:");
scanf("%d %d %d", &year, &month, &day);
printf("该日期是该年的第 %d 天。\n", day_of_year(year, month, day));
return 0;
}
```
你可以将年月日作为函数的参数传递,然后调用该函数来获取给定日期是该年的第几天。
阅读全文