#include"stdio.h"
void main()
{
int year,month,day,days;
int flag=1;
do
{
printf("请输入一个日期,格式为2008-08-08:\n");
scanf("%d-%d-%d",&year,&month,&day);
if((year<=0||month<=0||month>=12||day<=0))
flag=0;
else
{
switch(month)
{
case 1:days=31;break;
case 2:((year%4==0&&year%100!=0)||(year%400==0))==1?days=29:days=28;break;
case 3:days=31;break;
case 4:days=30;break;
case 5:days=31;break;
case 6:days=30;break;
case 7:days=31;break;
case 8:days=31;break;
case 9:days=30;break;
case 10:days=31;break;
case 11:days=30;break;
case 12:days=31;break;
}
if(day>days)
flag=0;
else
flag=1;
}
if(flag==0) printf("日期输入格式有误!\n");
}
while(flag==0);
printf("%d-%d-%d是一个有效的日期!\n",year,month,day);
}