我這個應(yīng)該是錯在哪了呢?
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int sum;
? ? switch(year)
? ? {
? ? ? ? case 1 : day=31;
? ? ? ? case 2 : if(year%100=0&&year%400=0||year%4=0)day=29;
? ? ? ? else day=28;
? ? ? ? case 3 : day=31;
? ? ? ? case 4 : day=30;
? ? ? ? case 5 : day=31;
? ? ? ? case 6 : day=30;
? ? ? ? case 7 : day=31;
? ? ? ? case 8 : day=31;
? ? ? ? case 9 : day=30;
? ? ? ? case 10 : day=31;
? ? ? ? case 11 : day=30;
? ? ? ? case 12 : day=31;
? ? ? ? break;
? ? }
? ? sum=sum+day;
? ? printf("%d年%d月%d日是該年的第%d天",year,month,day,sum)
return 0;
}
2017-08-01
你switch的是year...你下面沒有一個case是對的上的,就算是month...由于case之間沒有break,會從case8由上往下執(zhí)行,你的day最終的值是31...牽扯到sum計算的也只有sum=sum+day...應(yīng)該是31=0+31...sum最終值也就是31,要改的地方挺多的...我switch也不熟,經(jīng)常用for或者if寫- -,你看下左邊題目拉到最下面,有個不會了怎么辦,哪里的答案寫的挺好的...至少讓我用switch,我上來是懵逼的- -