這個(gè)代碼有什么問題?求大神幫助 謝謝!
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month =8;
? ? int day = 8;
? ? /*
? ? ?* 請(qǐng)使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ??
? ? int s=0;
? ? switch(month)
? ? {
? ? ? ? case 1:s=0;break;
? ? ? ? case 2:s+=31;break;
? ? ? ?if(year%400=0||year%100=0)
? ? ? ? {
? ? ? ? ? ? s+=29;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? s+=28;
? ? ? ? }
? ? ? ? case 3:s;break;?
? ? ? ? case 4:s+=31;break;
? ? ? ? case 5:s+=30;break;
? ? ? ? case 6:s+=31;break;
? ? ? ? case 7:s+=30;break;
? ? ? ? case 8:s+=31;break;
? ? ? ? case 9:s+=31;break;
? ? }
? ? s=s+day;
? ? printf("%d年%d月%d日這一天,是該年中的第%d天。",year,month,day,s)
return 0;
}
2018-08-23
不對(duì) 看了一下 case里面的s是不累加的
所以是你switch沒搞清楚定義
2018-08-23
case 2:s+=31;break;?就ok了
后面的判斷語句和s=s+day重復(fù)了