C语言中先输入一个日期然后判断是否合法若不合法则继续输入至合法的程序(分年月日输入)

如题所述

#include<stdio.h>
int main()
{int y,m,d,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
do{printf("Please enter a date(yyyy m d):");
scanf("%d%d%d",&y,&m,&d);
}while(y<1||m<1||m>12||d<1||d>a[m]+(m==2)&(y%4==0&&y%100>0||y%400==0));
printf("%d-%d-%d is a valid date!\n",y,m,d);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答