亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪錯了呢 求解

#include <stdio.h>

int main()?

{?

? ? /* 定義需要計算的日期 */

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? switch(month);

? ? {

? ? ? ? case 1:sum+=31;break;

? ? ? ? case 2:sum+=28;break;

? ? ? ? case 3:sum+=31;break;

? ? ? ? case 4:sum+=30;break;

? ? ? ? case 5:sum+=31;break;

? ? ? ? case 6:sum+=30;break;

? ? ? ? case 7:sum+=31;break;

? ? ? ? case 8:sum+=31;break;

? ? ? ? case 9:sum+=30;break;

? ? ? ? case 10:sum+=31;break;

? ? ? ? case 11:sum+=30;break;

? ? ? ? case 12:sum+=31;break;

? ? ? ? default:printf("一年當中只有12個月");break;

? ? }

? ? sum=sum+day;

? ? if(year%400==0||(year%4==0&&year%100!=0))

? ? ? ? flag=1;

? ? else

? ? ? ? flag=0;

? ? if(flag==1&&month>2)

? ? ? ? sum++;

? ? printf("%d年%d月%d日是該年的第%d天。",year,month,day,sum);

return 0;

}


正在回答

2 回答

因為每個case后面有一個break語句,執行完一個case·語句,就跳出了switch這整個選擇語句,如果你想用這種方法,那我可以順著你的思路給出解決方案:定義一個新變量i ;然后在switch語句上面加一個for循環,for(i=1;i<month;i++),包含switch語句,循環month-1次,就把前面所有天數加起來了。。。而且你后面的if語句里flag沒有先在前面定義就直接賦值了,int flag!??!望采納

0 回復 有任何疑惑可以回復我~

switch語句是個選擇語句,假如是8月,直接跳到case8,并不是每個case里的sum相加。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

哪錯了呢 求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號