這樣不對嗎,結(jié)果怎么是220
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int au=0;
? ? int ad=1;
? ? switch(ad)
? ? {
? ? ? ? case 1:au+=31;
? ? ? ? case 2:au+=31;
? ? ? ? case 3:au+=30;
? ? ? ? case 4:au+=31;
? ? ? ? case 5:au+=30;
? ? ? ? case 6:au+=31;
? ? ? ? case 7:if(year%400==0&&year%4==0)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? au+=29;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? au+=28;
? ? ? ? }
? ? ? ? case 8:au+=8;
? ? ? ? default:printf("2008年8月8日是該年中的第%d天",au);
? ? ? ? break;
? ? }
? ??
? ??
2018-04-04
你的這里是錯(cuò)的case 7:if(year%400==0&&year%4==0)。這是與,必須兩邊結(jié)果都是真才行,2008除400不是0,所以你的結(jié)果永遠(yuǎn)是else里的28天。還有閏年能被四百整除就一定能被4整除,你這個(gè)改成或||,或者只留下除4都可以。