定义一个结构体变量用以记录一个日期(包括年,月,日)。输入一个日期,计算该日是本年的第几天。
时间: 2023-04-29 09:02:51 浏览: 121
1.定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年的问题。
可以定义一个结构体变量,包含年、月、日三个成员变量,如下所示:
struct Date {
int year;
int month;
int day;
};
输入一个日期后,可以先判断该年是否为闰年,然后根据月份和日数计算出该日是本年的第几天。具体实现如下:
int daysOfMonth[13] = {, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每个月的天数
int leapDaysOfMonth[13] = {, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 闰年每个月的天数
int isLeapYear(int year) { // 判断是否为闰年
return (year % 4 == && year % 100 != ) || year % 400 == ;
}
int getDayOfYear(Date date) { // 计算该日是本年的第几天
int days = ;
for (int i = 1; i < date.month; i++) {
days += isLeapYear(date.year) ? leapDaysOfMonth[i] : daysOfMonth[i];
}
days += date.day;
return days;
}
其中,isLeapYear函数用于判断是否为闰年,getDayOfYear函数用于计算该日是本年的第几天。
阅读全文