B3835 [GESP202303 一级] 每月天数 题解

目录

    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 样例 #2
      • 样例输入 #2
      • 样例输出 #2
    • 题目思路
    • AC 代码

题目描述

小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?

输入格式

输入一行,包含两个整数 A , B A, B A,B,分别表示一个日期的年、月。约定 2000 ≤ A ≤ 3000 2000 \leq A \leq 3000 2000A3000 1 ≤ B ≤ 12 1 \leq B \leq 12 1B12

输出格式

输出一行,包含一个整数,表示输入月份有多少天。

样例 #1

样例输入 #1

2022 1

样例输出 #1

31

样例 #2

样例输入 #2

2020 2

样例输出 #2

29

题目思路

使用数组储存每月的天数,再判断是否是二月,如果是二月,判断是否是闰年。

AC 代码

#include
using namespace std;
int mouth[13] = {0,31,0,31,30,31,30,31,31,30,31,30,31};
int main() {
    int a,b;
    cin >> a >> b;
    if(b == 2) if(a % 400 == 0 || a % 4 == 0 && a % 100 != 0) cout << "29"; else cout << "28";
    else cout << mouth[b];
    return 0;
}

创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,如果喜欢我的文章,给个关注吧!

冰焰狼 | 文

如果本篇博客有任何错误,请批评指教,不胜感激 !

你可能感兴趣的:(洛谷题解,算法,c++,数据结构)