输入一个日期,判断这个日期是否存在。
1,3,5,7,8,10,12 月有 31 天;
4,6,9,11 月有 30 天;
非闰年的 2 月有 28 天;
闰年的 2 月有 29 天;
非整百年,能被 4 整除的为闰年,整百年,能被400整除的是闰年。
输入:
输入三个整数 y,m,d 分别表示年月日 。
输出:
如果日期存在输出 YES 否则输出 NO。
样例输入:
1900 2 29
样例输出:
NO
#include<iostream>
using namespace std;
int main(){
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int year,m,d;
cin>>year>>m>>d;
if((year%4==0&&year%100!=0)||(year%400==0)){//如果是闰年
a[1] = 29;
if(0<d&& d<=a[m-1] && m>0 && m<=12)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else{
if(0<d&& d<=a[m-1] && 0<m && 12>=m)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}