定义一个日期结构体类型(包括年、月、日),编写程序,要求输入年月日,输出该日在本年中第几天。 输出格式:"是%d年第%d天"
时间: 2023-12-12 16:20:23 浏览: 119
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
好的,以下是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 getDayInYear(Date& date) {
int days_in_month[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int days = date.day;
for (int i = 1; i < date.month; i++) {
days += days_in_month[i];
if (i == 2 && isLeapYear(date.year)) {
days++;
}
}
return days;
}
int main() {
Date date;
cout << "请输入年月日,格式为YYYY MM DD:";
cin >> date.year >> date.month >> date.day;
int day_in_year = getDayInYear(date);
cout << "是" << date.year << "年第" << day_in_year << "天" << endl;
return 0;
}
```
输入示例:
```
请输入年月日,格式为YYYY MM DD:2021 10 18
```
输出示例:
```
是2021年第291天
```
阅读全文