if((year%4 == 0 && (year%100 != 0)) || (year%400 == 0)) { flag = 1; } switch(mon) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("这个月有31天\n"); break; case 4: case 6: case 9: case 11: printf("这个月有30天\n"); break; case 2: if(flag) printf("这个月有29天\n"); else printf("这个月有28天\n"); break; default: break; } }