定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
时间: 2023-04-16 07:03:49 浏览: 81
1.定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年的问题。
可以定义一个结构体变量,包括年、月、日三个成员,如下所示:
struct Date {
int year;
int month;
int day;
};
然后,可以编写一个函数,计算该日在本年中是第几天。具体实现如下:
int dayOfYear(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 (date.month > 2 && isLeapYear(date.year)) { // 闰年2月多一天
sum++;
}
return sum;
}
其中,isLeapYear函数用于判断是否是闰年,实现如下:
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
这样,就可以通过调用dayOfYear函数,计算出该日在本年中是第几天了。
阅读全文