這個(gè)會(huì)不會(huì)簡(jiǎn)單點(diǎn)。。。
#include <stdio.h>
int main()
{
??? /* 定義需要計(jì)算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
?int sum=0;
?int flag;
??? /*
???? * 請(qǐng)使用switch語(yǔ)句,if...else語(yǔ)句完成本題
???? * 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
???? * 小編還是希望大家獨(dú)立完成哦~
???? */
???
??? 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
你這樣寫(xiě)只能做這題的情況,改成12月,你這代碼就算不了了。如果想適合所有情況,將sum函數(shù)的循環(huán)次數(shù)由8改為月份。
考慮10月和12月都是31天,閏年的判斷是:能被400整除或者能被4整除但不能被100整除。