C语言计算一个日期是当年中的第几天,定义一个结构体类型Date,包括整型成员year、month、day 。定义一个Date类型变量,注意闰年问题
时间: 2024-02-21 18:00:27 浏览: 65
好的,我可以为您解答此问题。以下是计算一个日期是当年中的第几天的 C 代码:
```
#include <stdio.h>
struct Date {
int year;
int month;
int day;
};
int isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
int dayOfYear(struct Date date) {
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int day = date.day;
for (int i = 1; i < date.month; ++i) {
day += daysInMonth[i];
}
if (date.month > 2 && isLeapYear(date.year)) {
++day;
}
return day;
}
int main() {
struct Date date = {2021, 7, 15};
int day = dayOfYear(date);
printf("%d-%d-%d is day %d of the year.\n", date.year, date.month, date.day, day);
return 0;
}
```
其中,`isLeapYear` 函数用于判断是否是闰年,如果是则返回 1,否则返回 0。`dayOfYear` 函数用于计算一个日期是当年中的第几天,先根据月份累加天数,然后如果是闰年且月份大于 2 月,则再加 1 天。最后在 `main` 函数中,我们定义一个 `Date` 类型的变量 `date`,并将其初始化为 `{2021, 7, 15}`,即表示 2021 年 7 月 15 日,然后调用 `dayOfYear` 函数计算当年中的第几天,并输出结果。
希望我的回答能够帮到您。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044947.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)