c++设计一个函数,这个函数有两个形参,一个表示年份,一个表示月份,这个函数返回这个月的天数。
时间: 2024-10-11 19:02:28 浏览: 27
C++实现两个有序数组的合并
5星 · 资源好评率100%
在 C++ 中,你可以创建一个名为 `daysInMonth` 的函数,用于计算给定年份和月份的天数。这里我们通常会处理非闰年的普通规则和特殊情况,如二月的天数(闰年有29天,其他年份有28天)。你可以按照下面的方式来编写:
```cpp
#include <iostream>
int daysInMonth(int year, int month) {
// 验证输入的合法性
if (month < 1 || month > 12) {
std::cout << "月份值错误,应为1到12。\n";
return -1; // 返回错误代码
}
// 普通月份的天数
const int month_days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判断是否为闰年
bool is_leap_year = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
// 调整二月的天数
if (month == 2) {
month_days[1] = is_leap_year ? 29 : 28;
}
return month_days[month - 1]; // 减1是因为数组索引从0开始计数
}
int main() {
int year, month;
std::cout << "请输入年份和月份(例如:2023 2): ";
std::cin >> year >> month;
int result = daysInMonth(year, month);
if (result != -1) {
std::cout << "该月份有 " << result << " 天。\n";
}
return 0;
}
```
阅读全文