请问为什么这样运行结果正确,但无法通过?
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum;
switch (month)
{
case 1 : sum = 0+day;break;
case 2 : sum = 31+day;break;
case 3 : sum = 31+28+day;break;
case 4 : sum = 31+28+31+day;break;
case 5 : sum = 31+28+31+30+day;break;
case 6 : sum = 31+28+31+30+31+day;break;
case 7 : sum = 31+28+31+30+31+30+day;break;
case 8 : sum = 31+28+31+30+31+30+31+day;break;
case 9 : sum = 31+28+31+30+31+30+31+31+day;break;
case 10 : sum = 31+28+31+30+31+30+31+31+30+day;break;
case 11 : sum = 31+28+31+30+31+30+31+31+30+31+day;break;
case 12 : sum = 31+28+31+30+31+30+31+31+30+31+30+day;break;
}
if ((year%4==0&&year%100!=0) || year%400==0)
{
if (month>2)
printf ("%d",sum+1);
else
printf ("%d",sum);
}
else
printf ("%d",sum);
return 0;
}