課程
/后端開發
/C
/C語言入門
為什么要加上:score /=10?
為什么case常量表達式從10開始?
2016-04-12
源自:C語言入門 4-16
正在回答
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分之間也是這樣處理的。????????
因為6和7一個等級,所以可以不寫
因為score是整型數據,score/=10之后簡化了個位數據的判斷,不加score/=10的話swith語句需要很多的case才能實現代碼要求。
i是祎不是偉 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
5 回答為什么要score/=10
2 回答為什么要寫score/=10
3 回答非要加score/=10??
2 回答為什么要定義 score /= 10;
1 回答這里的score/=10是什么意思,為什么要用score/=10?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-03
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分之間也是這樣處理的。?
???????
2016-05-19
因為6和7一個等級,所以可以不寫
2016-04-12
因為score是整型數據,score/=10之后簡化了個位數據的判斷,不加score/=10的話swith語句需要很多的case才能實現代碼要求。