定义一个结构体变量(包括年、月、日),计算该日在本年中是第几天。c语言,简单一点,难了我看不懂
时间: 2023-12-12 15:08:29 浏览: 76
好的,我可以给你提供一个简单的代码实现,不涉及太多复杂的语法和算法。
```
#include <stdio.h>
struct date {
int year;
int month;
int day;
};
int main() {
struct date my_date;
int days_of_month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int i, sum = 0;
printf("请输入一个日期(年-月-日):");
scanf("%d-%d-%d", &my_date.year, &my_date.month, &my_date.day);
// 计算该日期在本年中的天数
for (i = 0; i < my_date.month - 1; i++) {
sum += days_of_month[i];
}
sum += my_date.day;
// 如果是闰年,2月份天数加1
if ((my_date.year % 4 == 0 && my_date.year % 100 != 0) || my_date.year % 400 == 0) {
if (my_date.month > 2) {
sum += 1;
}
}
printf("该日在本年中是第%d天\n", sum);
return 0;
}
```
这个程序中,我们先定义了一个`date`结构体,包含年、月、日三个成员。然后定义了一个整型数组`days_of_month`,用于存储每个月的天数。在`main`函数中,我们先读入用户输入的日期,然后利用一个循环计算该日期在本年中的天数。最后,如果该年是闰年且该日期在2月份之后,我们将天数加1。最终输出结果即可。
阅读全文