用switch语句写月份案例

88 阅读1分钟

用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天的例子:

image.png

(二)30天的例子:

image.png

(三)1. 2月份平年:

image.png

  1. 2月份闰年:

image.png