定义一个结构体变量(包括年、月、日),计算该日在本年中是第几天。c语言,最好用比较简单的方法,不要太难,我看不懂
时间: 2023-12-12 21:08:29 浏览: 40
好的,我可以帮你写一个简单的程序来计算该日在本年中是第几天。具体思路是,先计算该月前面所有月份的总天数,再加上该月的天数,即可得到该日在本年中是第几天。
下面是代码实现:
```
#include <stdio.h>
struct date {
int year;
int month;
int day;
};
int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main() {
struct date my_date;
int day_of_year = 0;
printf("请输入日期(格式为yyyy-mm-dd):");
scanf("%d-%d-%d", &my_date.year, &my_date.month, &my_date.day);
// 计算该月前面所有月份的总天数
for (int i = 0; i < my_date.month - 1; i++) {
day_of_year += days_in_month[i];
}
// 如果是闰年且当前月份大于2月,2月的天数加1
if ((my_date.year % 4 == 0 && my_date.year % 100 != 0) || my_date.year % 400 == 0) {
if (my_date.month > 2) {
day_of_year += 1;
}
}
// 加上该月的天数
day_of_year += my_date.day;
printf("该日在本年中是第%d天\n", day_of_year);
return 0;
}
```
这个程序中,我们首先定义了一个`date`结构体,包含年、月、日三个成员。然后定义了一个整型数组`days_in_month`,用于存储每个月的天数。接着在`main`函数中,我们先读入用户输入的日期,再根据上述思路计算该日在本年中是第几天。最后输出结果即可。其中,我们使用了闰年判断条件来判断是否需要将2月的天数加1。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)