0
1
已采纳
if(b==2)
cout<<"28";
改成
if(b==2 && (a%4!=0 || (a%100==0 && a%400!=0)))
cout<<"28";
else
cout<<"29";樊澄宇在2018-01-24 15:13:32追加了内容
应该改成
if(b==2 && (a%4!=0 || (a%100==0 && a%400!=0)))
cout<<"28";
else if (b==2)
cout<<"29";
0
if(b>=1&&b<=12)
{
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
cout<<31;
if(b!=1&&b!=3&&b!=5&&b!=7&&b!=8&&b!=10&&b!=12&&b!=2)
cout<<30;
if(b==2)
{
if((a%4==0&&a%100!=0)||a%400==0)
cout<<29;
else cout<<28;
}
}
else cout<<"Error!"<<endl;
if(a==0) cout<<"Error"<<endl;
0
0
核心部分
if(month<1||month>12){
cout<<"Error!"<<endl;
return 0;
}
if(year%400==0||year%100!=0&&year%4==0)
{
switch(month)
{
case 2: day=29;break;
case 4: day=30;break;
case 6: day=30;break;
case 9: day=30;break;
case 11: day=30;break;
default: day=31;break;
}
}
else
{
switch(month){
case 2: day=28;break;
case 4: day=30;break;
case 6: day=30;break;
case 9: day=30;break;
case 11: day=30;break;
default: day=31;break;
}
}
cout<<day<<endl;
0
1.还少一个闰年没有判断,如果a能被4整除并且不能被100整除或a能被400整除的情况下,2月是有29天的。
2.把
if(b<1||b>12)
cout<<"Error!";
改成
if(b<1||b>12||a==0)
cout<<"Error!";
0
if(b==2)
cout<<"28";
改成
if(b==2 && (a%4!=0 || (a%100==0 && a%400!=0)))
cout<<"28";
else if (b==2)
cout<<"29";
0
核心代码:
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
if(leapYear(year))
day = 29;
else
day = 28;
break;
default:
break;
}
if (month>12 or month<1) cout<<"Error!"<<endl;
else cout<<day<<endl;
