使用c++语言,用一维数组存放12个月的天数,编写程序,从键盘输入年月日,输出该日期是本年的第几天
时间: 2024-12-26 19:30:30 浏览: 0
在C++中,我们可以创建一个一维数组来存储每个月的天数,并编写一个函数来计算给定年月日是当年的第几天。首先,我们需要预定义一个包含每月天数的一维整型数组(考虑到闰年和平年的区别),然后设计主函数来接收用户输入并计算日期。
```cpp
#include <iostream>
using namespace std;
const int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 假设非闰年
// 计算给定年月日是当年的第几天
int getDayOfYear(int year, int month, int day) {
int sum = 0;
for (int i = 0; i < month - 1; ++i) {
sum += daysInMonth[i];
}
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { // 判断是否是闰年
sum += 29;
}
return sum + day;
}
int main() {
int year, month, day;
cout << "请输入年份、月份(1-12)和日期:";
cin >> year >> month >> day;
if (month > 12 || day <= 0 || day > daysInMonth[month - 1]) {
cout << "无效的日期!" << endl;
} else {
int result = getDayOfYear(year, month, day);
cout << "在" << year << "年," << month << "月" << day << "日是当年的第" << result << "天。" << endl;
}
return 0;
}
```
阅读全文