用c语言定义一个日期结构变量,查询某日期是本年的第几天
时间: 2023-11-27 10:54:23 浏览: 115
C语言计算某日是该年的第几天
以下是用C语言定义一个日期结构变量,并查询某日期是本年的第几天的示例代码:
```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 getDays(struct date d) {
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if (isLeapYear(d.year)) {
days[2] = 29;
}
int sum = 0;
for (int i = 1; i < d.month; i++) {
sum += days[i];
}
sum += d.day;
return sum;
}
int main() {
struct date d = {2022, 5, 20};
int days = getDays(d);
printf("%d年%d月%d日是本年的第%d天\n", d.year, d.month, d.day, days);
return 0;
}
```
在上面的代码中,我们定义了一个日期结构体 `date`,包含年份、月份和日期三个成员变量。在 `isLeapYear` 函数中,我们判断某一年是否是闰年。在 `getDays` 函数中,我们先定义每个月的天数数组 `days`,并根据年份情况调整二月的天数。然后我们循环遍历到该日期的前一个月,累加该月的天数,最后再加上该日期的天数,就可以得到该日期是本年的第几天。最后在 `main` 函数中,我们定义了一个日期变量 `d`,并调用 `getDays` 函数计算出该日期是本年的第几天,并输出结果。
上述代码输出结果为:
```
2022年5月20日是本年的第140天
```
阅读全文