从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。
时间: 2024-09-29 11:09:59 浏览: 44
当你需要使用switch语句编写这样的程序时,首先你需要检查用户输入的年份是否为闰年,以及月份是否在1月到12月之间。以下是Python的一个示例代码,因为它更简洁易懂,但你可以将其转换成其他语言如C++、Java等:
```python
def is_leap_year(year):
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
else:
return False
def days_in_month(month, year):
switch_month = {
'1': 31,
'2': is_leap_year(year) * 29 + (not is_leap_year(year)) * 28,
'3': 31,
'4': 30,
'5': 31,
'6': 30,
'7': 31,
'8': 31,
'9': 30,
'10': 31,
'11': 30,
'12': 31,
}
return switch_month[month]
year = int(input("请输入年份:"))
month = input("请输入月份(1-12):")
if month.isdigit() and 1 <= int(month) <= 12:
if is_leap_year(year):
print(f"{year}年的{month}月有{days_in_month(month, year)}天")
else:
print(f"{year}年的{month}月有{days_in_month(month, year)}天")
else:
print("输入的月份无效,请输入1-12之间的数字。")
阅读全文