定义一个结构体变量(包括年、月、日)。计算某年某月某日是本年中第几天?注意闰年问题。用C语言实现 直接给我代码
时间: 2023-06-07 14:12:03 浏览: 84
好的,以下是实现代码:
```
#include <stdio.h>
// 定义结构体变量
struct Date {
int year;
int month;
int day;
};
// 判断是否为闰年
int is_leap_year(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
} else {
return 0;
}
}
// 计算某年某月某日是本年中第几天
int day_of_year(struct Date date) {
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; // 不同月份的天数
int sum = 0;
for (int i = 1; i < date.month; i++) {
sum += days[i];
}
sum += date.day; // 加上当月的天数
if (is_leap_year(date.year) && date.month > 2) { // 如果是闰年且月份大于2月,则加1
sum++;
}
return sum;
}
int main() {
struct Date date = {2022, 6, 12}; // 某年某月某日
int result = day_of_year(date); // 计算本年中第几天
printf("%d年%d月%d日是本年中的第%d天\n", date.year, date.month, date.day, result);
return 0;
}
```
使用方法:将代码复制到 C 语言编译器中运行即可。
阅读全文