题目描述

输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。

输入格式

输入两个正整数,分别表示年份 \(y\) 和月数 \(m\),以空格隔开。

输出格式

输出一行一个正整数,表示这个月有多少天。

样例 #1样例输入 #1

1926 8

样例输出 #1

31

样例输入 #2

2000 2

样例输出 #2

29

提示数据保证 \(1583 \leq y \leq 2020\)\(1 \leq m \leq 12\)。以下是答案

#include using namespace std;//判断是否闰年int rn(int a){  return a%400==0||a%4==0&&a%100!=0;}int main(){    int y,m,d;    int day;    cin>>y>>m;    //判断月份    if(m == 2 && rn(y)){        day = 29;        cout<<day;    }    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){        day = 31;        cout<<day;    }    if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){        day = 30;        cout<<day;    }    else{        day = 28;        cout<<day;    }    return 0;}

之后WA了
这才是正确的写法!!!

#include using namespace std;//判断是否闰年int rn(int a){  //是闰年return a%400==0||a%4==0&&a%100!=0;}int main(){    int y,m,d;    int day;    cin>>y>>m;    //判断月份    if(m == 2){    if(rn(y)){    day = 29;        cout<<day;} else{day = 28;cout<<day;}           }    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){        day = 31;        cout<<day;    }    if(m == 4 || m == 6 || m == 9 || m == 11){        day = 30;        cout<<day;    }    return 0;}

不错!AC了