合法日期
题目描述
小蓝正在上小学,老师要求同学们在暑假每天记日记。可是小蓝整个暑假都在玩,直到最后一天才想起要记日记。于是小蓝赶紧编了一些日记交给老师。
没想到,日记很快就被老师发现了问题,原来小蓝记完 8 月 31 日的日记,竟又记了 8 月 32 日和 8 月 33 日的日记。这显然是有问题的,因为根本没有 8 月 32 日和 8 月 33 日。
给定一个月份和一个日期,请问 2021 年有没有这一天。
输入描述
输入的第一行包含一个整数 m,表示月份。
第二行包含一个整数 d,表示日期。
其中,1 ≤ m ≤ 20,1 ≤ d ≤ 40。
输出描述
如果2021年有 m 月 d 日,输入 yes
,否则输出 no
。
输入输出样例
示例 1
输入
8
32
输出
no
示例 2
输入
2
28
输出
yes
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
提交答案
法一:
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
int m,d;
cin>>m;
cin>>d;
int cnt=0;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
cnt=1;
}
else if(m==4||m==6||m==9||m==11)
{
cnt=2;
}
else if(m==2)
{
cnt=3;
}
else
{
cnt=4;
}
switch(cnt)
{
case 1:
{
if(d>=1&&d<=31)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
break;
}
case 2:
{
if(d>=1&&d<=30)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
break;
}
case 3:
{
if(d>=1&&d<=28)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
break;
}
case 4:
{
cout<<"no"<<endl;
break;
}
}
return 0;
}
法二:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,d;
cin>>m;
cin>>d;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(d<=month[m]&&d>=1)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
return 0;
}
标签:cnt,int,31,30,cin,合法,日期,&&
From: https://www.cnblogs.com/bujidao1128/p/17290720.html