#include <stdio.h> int main() { int year = 2008; int month = 8; int day = 8; int num=0; switch(month) case 1; num=0; break; case 2; num=30; break; case 3; num=59; break; case 4; num=90; break; case 5; num=120; break; case 6; num=151; break; case 7; num=181; break; case 8; num=212; break; case 9; num=243; break; case 10; num=273; break; case 11; num=304; break; case 12; num=334; break; if(year%4==0) { num+=1; } num+=day; printf("%d\n",day); return 0; }
第一 case是冒号结尾哦。 第二,闰年判定方式是能被4或400整除但不能被100整除。所以应该是if(year %4 ==0 || year %400 ==0 && year %100 ==!0)。第三,你没有判定闰年二月多加1天,闰年多加不加1天有两种情况,一是在2月前就不用加,但是在2月后就要加,所以需要有
if (year % 4 ==0 || year % 400 == 0 && year % 100 ==!0)
flag = 1;
else
flag = 0;
if (flag = 1 && month > 2)
sum ++;