哪位大哥幫我看看錯了嗎,多謝
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int i=0;
? ? switch(month)
? ? {
? ? ? ? case 1:i+=31;break;
? ? ? ? case 2:i+=28;break;
? ? ? ? case 3:i+=31;break;
? ? ? ? case 4:i+=30;break;
? ? ? ? case 5:i+=31;break;
? ? ? ? case 6:i+=30;break;
? ? ? ? case 7:i+=31;break;
? ? ? ? case 8:i+=31;break;
? ? ? ? case 9:i+=30;break;
? ? ? ? case 10:i+=31;break;
? ? ? ? case 11:i+=30;break;
? ? ? ? case 12:i+=31;break;
? ? ? ??
? ? }
? ??
? ? if(year%4==0&&year%100!==0||year%100==0&&year%400==0)
? ? i+=1;
? ? printf("%d年%d月%d日是第%d天",year,month,day,i);
? ??
? ??
? ??
return 0;
}
2018-10-30
? ? int day = 8;
? ? int i=0;
? ? switch(month)
? ? {
? ? ? ?case 8:i+=31;break;? ? ? ??
? ?}
//這段代碼可以這么理解,其它都都沒讀,你打印結(jié)果估計是32。
因switch只是選擇,前期是沒有運算的,你可能理解成了,8月會把前七個月加上。
這里用switch的話最好還是要把日期加好;
2018-10-24
加了break 等于8之后直接退出循環(huán)了