第一题 判断日期的正确性(rightd)
问题描述:
输入3个整数,看是否能表示一个日期。
输入格式:
一行3个整数 空格隔开
输出格式:
yes or no
输入样例:
2009 1 1
输出样例:
yes
首先,我讲一下这道题的坑点:
1、要注意判断平年和闰年,代码如下
n是年份
if((n%4==0&&n%100!=0)||n%400==0) p=1;
因为闰年和平年二月份的天数是不一样的(常识,废话)
代码自己想吧(Bushi
#include<bits/stdc++.h>
using namespace std;
int y,m,d;
int main()
{
cin>>y>>m>>d;
if(m>12||d>31)
{
cout<<"no";
return 0;
}
if((y%4==0&&y%100!=0)||y%400==0)
{
if(m==2)
{
if(d<=29)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(d<=31)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
else
{
if(d<=30)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
}
else
{
if(m==2)
{
if(d<=28)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(d<=31)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
else
{
if(d<=30)
{
cout<<"yes";
return 0;
}
else
{
cout<<"no";
return 0;
}
}
}
return 0;
}
0分代码,欢迎参考