编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。 **输入格式要求:"%d, %d" 提示信息:"input year,month:" **输出格式要求:"31 days\n" "29 days\n" "28 days\n" "input error!\n" 程序运行示例如下: input year,month:2004,2 29 days
时间: 2023-05-31 12:18:37 浏览: 180
输入年和月的信息,输出该月对应的天数。注意合理性与闰年的判别。(switch语句练习)
5星 · 资源好评率100%
### 回答1:
这道题目要求根据输入的年和月(用包含关键字“闰年”的年份输入,例如2004年),用switch语句进行编程输出该月有多少天。同时,题目还强调要求考虑闰年以及输入月份不在合法范围内的情况。最后,以“input year,month:2004,2”为输入,输出结果为“29 days”。
### 回答2:
这道题要求我们输入一个年份和月份,然后根据输入的年份和月份计算出该月的天数。我们知道:闰年的标准是能被4整除但不能被100整除的年份,或者能被400整除的年份。所以我们要判断输入的年份是否是闰年,然后再根据输入的月份判断该月有多少天。
那么我们可以按如下方式来写代码:
```c++
#include <iostream>
using namespace std;
int main() {
int year, month;
cout << "input year, month:";
cin >> year >> month;
// 判断输入是否合法
if (month < 1 || month > 12) {
cout << "input error!\n";
return 0;
}
// 计算该月有多少天
int days;
switch(month) {
case 2: // 二月份
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days = 29; // 闰年的2月有29天
} else {
days = 28; // 平年的2月有28天
}
break;
case 4: // 四月份
case 6: // 六月份
case 9: // 九月份
case 11: // 十一月份
days = 30;
break;
default: // 其他月份
days = 31;
}
// 输出结果
cout << days << " days\n";
return 0;
}
```
上述代码中,我们先输入了年份和月份,然后判断输入的月份是否合法,如果不合法直接输出错误信息。接着,我们利用switch语句对输入的月份进行判断,如果是2月份则还需要判断该年份是否是闰年,从而确定2月份的天数。对于其他月份,我们可以直接用switch语句进行判断。
最后,我们输出结果即可。
### 回答3:
编程题目描述:
编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。
输入格式要求:“%d, %d”
提示信息:"input year,month:"
输出格式要求:"31 days\n" "29 days\n" "28 days\n" "input error!\n"
程序运行示例如下:
input year,month:2004,2
29 days
解题思路:
本题可以通过switch语句来实现,先判断月份是否合法,再分别判断每个月的天数。要注意闰年的判断。
解题代码:
阅读全文