這個會不會簡單點。。。
#include <stdio.h>
int main()
{
??? /* 定義需要計算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
?int sum=0;
?int flag;
??? /*
???? * 請使用switch語句,if...else語句完成本題
???? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
???? * 小編還是希望大家獨立完成哦~
???? */
???
??? for(month=1;month<8;month++)
??? {
??{
???if(month==2)
??{sum+=28;}
??else if(month%2!=0 || month==8 || month==1)
??{sum+=31;}
??
??else if(month%2==0 && month!=2)
??{sum+=30;}
?}
??? }
?sum+=day;
???
?if(year%4==0 && year%100!=0)
?{
?flag=1;
?}else
??flag=0;
?if(flag==1)
??sum++;
?printf("%d年%d月%d日是該年的第%d天\n",year,month,day,sum);
???
?return 0;
}
2019-01-18
你這樣寫只能做這題的情況,改成12月,你這代碼就算不了了。如果想適合所有情況,將sum函數的循環次數由8改為月份。
考慮10月和12月都是31天,閏年的判斷是:能被400整除或者能被4整除但不能被100整除。