定义一个结构类型变量(包括年、月、日),实现输入一个日期显示它是该年第几天。
时间: 2023-12-03 08:50:07 浏览: 75
以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
struct Date {
int year;
int month;
int day;
};
bool isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
}
return false;
}
int getDayOfYear(Date date) {
int dayOfYear = 0;
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (isLeapYear(date.year)) {
daysInMonth[2] = 29;
}
for (int i = 1; i < date.month; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += date.day;
return dayOfYear;
}
int main() {
Date date;
cout << "请输入年份:";
cin >> date.year;
cout << "请输入月份:";
cin >> date.month;
cout << "请输入日期:";
cin >> date.day;
int dayOfYear = getDayOfYear(date);
cout << date.year << "年" << date.month << "月" << date.day << "日是该年的第" << dayOfYear << "天" << endl;
return 0;
}
```
程序中首先定义了一个结构体 `Date`,包含年、月、日三个成员变量。接着定义了一个函数 `isLeapYear`,用于判断某一年是否为闰年。然后定义了另一个函数 `getDayOfYear`,用于计算给定日期是该年的第几天。最后在 `main` 函数中,先输入日期,然后调用 `getDayOfYear` 函数计算该日期是该年的第几天,并输出结果。
程序的运行示例:
```
请输入年份:2022
请输入月份:9
请输入日期:30
2022年9月30日是该年的第273天
```
阅读全文