第一题 判断日期的正确性(rightd)
问题描述:
输入3个整数,看是否能表示一个日期。
输入格式:
一行3个整数 空格隔开
输出格式:
yes or no
输入样例:
2009 1 1
输出样例:
yes
重点在于判断闰年:
if((n%4==0&&n%100!=0)||n%400==0) p=1;
上代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#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;
}
欢迎参考