为什么当case 2: sum=31;不应该是28或29吗
他是先按2月是28天来算,后面再判断该年是否为闰年,若为闰年就在总天数上再加1就行了(闰年的2月是29天)
搜索
复制
#include<stdio.h>
int main()
{
int year=2008,month=8,day=8;
switch(month-1)
{
case 12:day+=31;
case 11:day+=30;
case 10:day+=31;
case 9:day+=30;
case 8:day+=31;
case 7:day+=31;
case 6:day+=30;
case 5:day+=31;
case 4:day+=30;
case 3:day+=31;
case 2:if(year%400==0||year%4==0&&year%400!=0)
{
day+=29;
}
else{
day+=28;
}
case 1:day+=31 ;
printf("2008年8月8日是该年的第%d天",day);
}return 0;
}