加载中...

合法日期

合法日期

题目描述

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

没想到,日记很快就被老师发现了问题,原来小蓝记完 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;
}
posted @ 2023-04-05 19:50  bujidao1128  阅读(42)  评论(0)    收藏  举报