不知道為什么我的這個得不到正確答案
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int day1;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? switch(month)
? ? {
? ? ? ? case 1:
? ? ? ? day1=day1+31;break;
? ? ? ? case 2:
? ? ? ? {
if(year%400==0||(year%100==0&&year%4==0))
? ? ? ? day1=day+29;
? ? ? ? else
? ? ? ? day1=day1+28;}
? ? ? ? break;
? ? ? ? case 3:
? ? ? ? day1=day1+31;break;
? ? ? ? case 4:
? ? ? ? day1=day1+30;break;
? ? ? ? case 5:
? ? ? ? day1=day1+31;break;
? ? ? ? case 6:
? ? ? ? day1=day1+30;break;
? ? ? ? case 7:
? ? ? ? day1=day1+31;break;
? ? ? ? case 8:
? ? ? ? day1=day1+31;break;
? ? ? ? case 9:
? ? ? ? day1=day1+30;break;
? ? ? ? case 10:
? ? ? ? day1=day1+31;break;
? ? ? ? case 11:
? ? ? ? day1=day1+30;break;
? ? ? ? case 12:
? ? ? ? day1=day1+31;break;
? ? }
? ? printf("%d年%d月%d日是該年中的第%d天",year,month,day,day1);
return 0;
}
2019-01-18
if(year%400==0||(year%100==0&&year%4==0))
改成
if(year%400==0||(year%100!=0&&year%4==0))
試試
2019-01-09
為什么遞增,break就結束了啊。 你也可以用for
2019-01-09
首先是day1沒有初始賦值,所以后面的結果很奇怪,然后,在case里面day1不會遞增,給day1初始值之后,結果也是錯的