编程一个定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题的代码
时间: 2023-09-03 17:13:24 浏览: 50
好的,以下是实现上述功能的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
// 定义日期结构体
struct Date {
int year;
int month;
int day;
};
// 判断是否是闰年
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 计算指定日期在本年中是第几天
int dayOfYear(Date date) {
int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int sum = 0;
for (int i = 1; i < date.month; i++) {
sum += days[i];
}
if (date.month > 2 && isLeapYear(date.year)) {
sum += 1; // 闰年2月29日
}
sum += date.day;
return sum;
}
int main() {
Date date;
cout << "请输入日期(格式为 年 月 日,以空格分隔):" << endl;
cin >> date.year >> date.month >> date.day;
int day = dayOfYear(date);
cout << "该日在本年中是第 " << day << " 天" << endl;
return 0;
}
```
运行结果示例:
```
请输入日期(格式为 年 月 日,以空格分隔):
2021 9 2
该日在本年中是第 245 天
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)