第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

大佬幫我看看我哪里出錯了,輸出總是98天,找了好久了

#include <stdio.h>

int main()?

{?

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

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? int date=0, sum=0;

? ? /*

? ? ?* 請使用switch語句,if...else語句完成本題

? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”

? ? ?* 小編還是希望大家獨立完成哦~

? ? ?*/

? ? ? ? switch(month-1)

? ? ? ? {

? ? ? ? ? ? case 1:

? ? ? ? ? ? case 3:

? ? ? ? ? ? case 5:

? ? ? ? ? ? case 7:

? ? ? ? ? ? case 8:

? ? ? ? ? ? case 10:

? ? ? ? ? ? date+=31;

? ? ? ? ? ? case 2:

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

? ? ? ? ? ? {

? ? ? ? ? ? ? ?date+=29;

? ? ? ? ? ? }

? ? ? ? ? ? else?

? ? ? ? ? ? {

? ? ? ? ? ? ? ? date+=28;

? ? ? ? ? ? };

? ? ? ? ? ? case 4:

? ? ? ? ? ? case 6:

? ? ? ? ? ? case 9:

? ? ? ? ? ? case 11:

? ? ? ? ? ? date+=30;

? ? ? ? }

?

? ? date+=day;

? ? printf("2008年8月8日,是該年中的第%d天",date);

? ??

return 0;

}


正在回答

3 回答

switch執(zhí)行case時是直接查找7沒錯,但你7沒break;之后它就會順序執(zhí)行直到遇到一個break(這個自己做實驗跑一跑代碼就能發(fā)現(xiàn))。你以為你的代碼是說12578⑩臘(掉了臘)都加31,但其實除了10月其他都沒加,。然后你也沒出循環(huán),31+29+30+8=98.? 答案是221. switch是選擇語句,選出一個就break最好

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

首先,month-1=7,這一點沒問題吧

按樓主的code,由于沒有break,所以從case7開始,直到最后

樓主定義的date是0,就從0算起

第一段有效代碼是case 10: date+=31;? 此時date=31??

//我知道樓主你意思是從第一個月加起,但事實上switch做的是選擇,不是順序計算

第二段有效代碼是case 2:? year定義為2008

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

//先做判斷,2008%400=8,8不等于0,看或后面的內容,很顯然2008滿足后面的內容

//即判斷的條件判定為真,執(zhí)行以下代碼

? ? ? ? ? ? ? ?date+=29;?? 此時date=60

else 不執(zhí)行,跳過

第三段有效代碼是case 11:date+=30; 此時date=90

第四段有效代碼是

date+=day;

? ? printf("2008年8月8日,是該年中的第%d天",date);

此時date=date+day,即得date=98

從而輸出date,即2008年8月8日,是該年中的第98天

我的分析說完了,樓樓慢慢看

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

不是輸出97 ?

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

舉報

0/150
提交
取消

大佬幫我看看我哪里出錯了,輸出總是98天,找了好久了

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

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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