C语言定义一个包括年月日的结构体,输入一个日期,计算该日在当年中的第几天。
时间: 2023-05-18 22:04:16 浏览: 70
可以使用以下代码实现:
```
#include <stdio.h>
struct date {
int year;
int month;
int day;
};
int day_of_year(struct date d) {
int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, days = 0;
for (i = 0; i < d.month - 1; i++) {
days += days_in_month[i];
}
days += d.day;
if (d.month > 2 && (d.year % 4 == 0 && d.year % 100 != 0 || d.year % 400 == 0)) {
days += 1;
}
return days;
}
int main() {
struct date d;
printf("请输入日期(yyyy-mm-dd):");
scanf("%d-%d-%d", &d.year, &d.month, &d.day);
printf("该日在当年中的第%d天\n", day_of_year(d));
return 0;
}
```
这个程序定义了一个包含年月日的结构体,然后实现了一个计算该日在当年中的第几天的函数。在主函数中,首先输入日期,然后调用该函数计算并输出结果。