计算某年月日是该年的第几天,怎么该?好像是改一个变量就行了

计算某年月日是该年的第几天,怎么该?好像是改一个变量就行了

而且最开始改成if month <= 0,输入月份为0的时候也非法。

应该是if i==2,而不是if month==2

i才是每次遍历时候的月份下标,而month只要大于等于三月,都会经历二月份。

if(i==2&&((year%4==0&&year%100!=0)||year%400==0))  // 判断i==2 而不是month==2

 

另外从输入的合法性校验来说,还要判断年份,日期的范围,包括闰年平年2月日期都是不一样的,

请看:https://blog.csdn.net/qq_41071068/article/details/89484432

你判断错误时间再加个year和day就完美了