用switch语句,内容关于输入月份,输出这个月有几天
1.代码:
#include <iostream>
using namespace std;
int main() {
int month, year;
cout << "请输入年份(例如:2025):";
cin >> year;
cout << "请输入月份(1-12):";
cin >> month;
// 检查月份输入合法性
if (month < 1 || month > 12) {
cout << "错误:输入的月份无效!请输入1-12之间的整数。" << endl;
return 1; // 异常退出程序
}
int days;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31; // 大月:31天
break;
case 4: case 6: case 9: case 11:
days = 30; // 小月:30天
break;
case 2: // 二月:需判断闰年
// 闰年判断规则:能被4整除但不能被100整除,或能被400整除
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
break;
default:
days = 0; // 理论上不会执行(已提前校验月份)
break;
}
cout << year << "年" << month << "月共有 " << days << " 天" << endl;
return 0;
}
2.运行结果如下:
(一)31天的例子:
(二)30天的例子:
(三)1. 2月份平年:
- 2月份闰年: