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

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

為什么要加上 score /=10

為什么要加上:score /=10?

為什么case常量表達式從10開始?

正在回答

3 回答

1、為什么要加上:score /=10?

????????除以10以后0分至100分就會變成了0到10個數字,(因為:score為整型int,所以被除以后即使不為整數, 在再次賦值后也會自動把小數部分去掉),這樣,90<=X<=100分就變成了9和10,80<=x<90的范圍就變成了8, 60<=x<80的范圍就變以了6和7 。這道題中score=score/10=8

2、為什么case常量表達式從10開始?

????應該和題意有關系吧,題中90-100定義為等級A、80-90定義為等級B、60-80定義為等級C、60分以下的為等級D,所以羅列case時自然而然是從高分往低分分配,最后60分以下的歸到default里,這樣思路清晰。但如果非要從低向高羅列也可以。

case 0:

case1:

case2:

case3:

case4:

case5:

???????????? printf("等級D");
??????????? break;

case6:

case7:

????????printf("等級C");?
??????? break;

…………………………不覺得這樣很麻煩么?

3、那為什么 case 7:后面不用寫printf("");和break;

????因為60多分和70多分都是屬于等級C的,所以這里與60分多時一并處理,swich語句中在case子句后如果沒有break;會一直往后執行一直到遇到break;才會跳出switch語句。當分數在60多分與70多分之間時都會執行case6下面的語句。同理分數在100分與90分之間也是這樣處理的。?
???????

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

因為6和7一個等級,所以可以不寫

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

因為score是整型數據,score/=10之后簡化了個位數據的判斷,不加score/=10的話swith語句需要很多的case才能實現代碼要求。

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

i是祎不是偉 提問者

那為什么 case 7:后面不用寫printf("");和break;
2016-04-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么要加上 score /=10

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

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

幫助反饋 APP下載

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

公眾號

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