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

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

這代碼不嚴謹,求大佬指導改進意見!如果輸入13個月還會計算天數。按理說應該輸出只有十二個月。

#include <stdio.h>

int main()?

{?

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

? ? int year = 2008;

? ? int month = 13;

? ? int day = 8;

? ? int sum , flag;

? ? switch(month)

? ? {

? ? ? ? case 1:sum=0;break;

? ? ? ? case 2:sum=31;break;

? ? ? ? case 3:sum=59;break;

? ? ? ? case 4:sum=90;break;

? ? ? ? case 5:sum=120;break;

? ? ? ? case 6:sum=151;break;

? ? ? ? case 7:sum=181;break;

? ? ? ? case 8:sum=212;break;

? ? ? ? case 9:sum=243;break;

? ? ? ? case 10:sum=273;break;

? ? ? ? case 11:sum=304;break;

? ? ? ? case 12:sum=334;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;

}

正在回答

1 回答

emmmmm,新手啊,不要噴。以下話語僅代表個人觀點,沒有嘲諷意思,出于練習自己的意思,看不慣希望繞道。可以在sum前面加個if語句判斷月份是否在12個月內,不是的話就直接跳過輸出年月日。

1 回復 有任何疑惑可以回復我~
#1

慕少519656 提問者

謝謝大佬! 我改進了一下。 if(sum>0&&sum<=334) { 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); } else return 0; }
2020-11-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這代碼不嚴謹,求大佬指導改進意見!如果輸入13個月還會計算天數。按理說應該輸出只有十二個月。

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

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

幫助反饋 APP下載

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

公眾號

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