编写程序,定义一个表示日期的结构体类型(由年、月、日3 个整形数据组成),输入一个日期,计算该日期是本年度的第几日。 按要求编写程序,然后上机调试运行,记录结果。 (1)输入年月日 2020:4:29 (2)1-3:31+28+31 (3)4:31+28+31+29 (4)判别闰年
时间: 2024-01-21 10:16:07 浏览: 33
下面是一个示例代码,可以实现输入日期,计算该日期是本年度的第几天:
```c++
#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 getDayOfYear(Date date) {
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
for (int i = 1; i < date.month; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += date.day;
if (isLeapYear(date.year) && date.month > 2) {
dayOfYear++;
}
return dayOfYear;
}
int main() {
Date date;
cout << "请输入日期(格式为:年 月 日):" << endl;
cin >> date.year >> date.month >> date.day;
int dayOfYear = getDayOfYear(date);
cout << date.year << "年的第" << dayOfYear << "天" << endl;
return 0;
}
```
运行结果:
```
请输入日期(格式为:年 月 日):
2020 4 29
2020年的第120天
```