TB椰程 TypeBuddy 打字搭子

【例23.2】 这个月有几天

C++语法 · 条件判断 · 代码 · cpp · 难度 2/5 · 共 692 字

这个月有几天:注意闰年 2 月

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P137
// 题意:输入年份 y 和月份 m,输出该月天数。
// 思路:用 switch 按月份分天数;
//       2 月要先判闰年(四年一闰、百年不闰、四百年再闰)。
#include <iostream>
using namespace std;

int main() {
    int y, m;
    // 年份和月份
    cin >> y >> m;
    if (m == 2) {
        // 闰年的 2 月有 29 天
        bool leap = y % 4 == 0 && y % 100 != 0 || y % 400 == 0;
        cout << (leap ? 29 : 28) << endl;
    } else {
        switch (m) {
            case 4:
            case 6:
            case 9:
            case 11:
                // 小月 30 天
                cout << 30 << endl;
                break;
            default:
                // 其余月份都是 31 天
                cout << 31 << endl;
        }
    }
    return 0;
}

C++语法 · 条件判断的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK