编写程序并调试通过:判断每个月的天数,输入某一年月,输出该月的天数。输入2008和2,输出2008年2月有29天c++
时间: 2024-10-17 18:03:37 浏览: 24
C语言学习 输出每个月的天数
在C++中,我们可以编写一个程序来判断闰年并将2月的天数设置为29。首先,我们需要一个函数来检查是否为闰年。接下来是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
// 根据闰年的规则:能被4整除并且不能被100整除,或者能被400整除的年份是闰年
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int getDaysInMonth(int year, int month) {
static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 月份天数数组
if(isLeapYear(year) && month == 2) {
return 29; // 如果是闰年且是二月,则有29天
} else {
return days_in_month[month - 1]; // 否则,直接返回对应月份的天数
}
}
int main() {
int year, month;
cout << "请输入年份和月份(如2008 2): ";
cin >> year >> month;
if(month >= 1 && month <= 12) {
int days = getDaysInMonth(year, month);
cout << "该月有 " << days << " 天" << endl;
} else {
cerr << "月份输入错误,请输入1到12之间的数值。" << endl;
}
return 0;
}
```
这个程序首先检查输入的年份是否为闰年,如果是,就确定2月有29天;如果不是,它直接从预设的月份天数数组中获取相应月份的天数。
阅读全文