日期问题
判断日期是否合法的模板(蓝桥杯常用)
bool check(int year, int month, int day)//检查日期是否合法
{
/*日期不合法三种情况:
① 月份不在1-12之间 日期不在1-31之间
② 月份为2时,判断是否闰年,日期大于leap+28
③ 日期大于每月最大日期
*/
if( month > 12 || month < 1 || day < 1 || day > 31) return false;
if(month == 2)
{
int leap = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
if(day > days[month] + leap) return false;
return true;
}
if(day > days[month]) return false;
return true;
}

浙公网安备 33010602011771号