主页 > 其他  > 

蓝桥杯备赛1-2合法日期

蓝桥杯备赛1-2合法日期
题目描述

小蓝正在上小学,老师要求同学们在暑假每天记日记。可是小蓝整个暑假都在玩,直到最后一天才想起要记日记。于是小蓝赶紧编了一些日记交给老师。

没想到,日记很快就被老师发现了问题,原来小蓝记完 8 月 31 日的日记,竟又记了 8 月 32 日和 8 月 33 日的日记。这显然是有问题的,因为根本没有 8 月 32 日和 8 月 33 日。

给定一个月份和一个日期,请问 2021 年有没有这一天。

输入描述

输入的第一行包含一个整数 mm,表示月份。

第二行包含一个整数 dd,表示日期。

其中,1≤m≤20,1≤d≤401≤m≤20,1≤d≤40。

输出描述

如果2021年有 mm 月 dd 日,输入 yes,否则输出 no。

输入输出样例 示例 1

输入

8 32

输出

no

示例 2

输入

2 28

输出

yes

运行限制 最大运行时间:1s最大运行内存: 128M 题解1  #include <iostream> using namespace std; int main() { // 请在此输入您的代码 int m,n; cin>>m>>n; if(m==2) { if(n<=28){ cout<<"yes"; }else{ cout<<"no"; } } else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) //在 C++ 中,表达式 m==1||3||5||7||8||10||12 并不是按你预期的方式工作的。这个表达式实际上会被解释为 (m==1) || (3) || (5) || (7) || (8) || (10) || (12),其中非零整数(如 3、5、7 等)在布尔上下文中被视为 true。因此,只要 m 不等于 1,这个条件就会被视为 true,这不是你想要的行为。 { if(n<=31){ cout<<"yes"; }else{ cout<<"no"; } } else if(m==3||m==4||m==6||m==9||m==11) { if(n<=30){ cout<<"yes"; }else{ cout<<"no"; } }else//忽略了m的范围 { cout<<"no"; } return 0; } 题解2 #include <iostream> using namespace std; int main() { int month[31]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int m,d; cin>>m>>d; if(month[m]<d) cout<<"no"; else cout<<"yes"; return 0; }

标签:

蓝桥杯备赛1-2合法日期由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“蓝桥杯备赛1-2合法日期