日期合法性
题目描述
题目描述
输入一个日期,判断这个日期是否存在。
1 3 5 7 8 10 12有31天,4 6 9 11有30天。
非闰年的2月有28天;闰年的2月有29天。
非整百年,能被4整除的为闰年;整百年,能被4整除的是闰年。
#include <stdio.h>
int main()
{
int y,m,d;
sacnf("%d年%d月%d日",&y,&m,&d);
if (m >= 1 && m <= 12)
{
if(m == 1 ||m == 3 ||m == 5 ||m == 6 ||m == 8 ||m == 10 ||m == 12)
{
if(d >=1 && d <= 31)
{
printf("YES");
}
else
{
printf("NO");
}
}
else if(m == 4 ||m == 6 ||m == 9 ||m == 11 )
{
if(d >=1 && d <= 30)
{
printf("YES");
}
else
{
printf("NO");
}
}
else(((y % 100 )!= 0 ) &&( y / 4 == 0) || (y /400 == 0))
{
if(d >= 1 && d <= 29)
{
printf("YES");
}
else if(d >= 1 && d <= 28)
{
printf("YES");
}
else
{
printf("NO");
}
}
}
else
{
printf("NO");
}
}