兩個(gè)問(wèn)題,求解答
#include <stdio.h>
int main()?
{
? ? int score = 87; //考試分?jǐn)?shù)為87分?
? ? score/=10; ? ---------1.這里是為什么????
? ? switch(score)
? ? {
? ? ? 2. ?/*想想以下代碼為什么用這種方式;
? ? ? ? ? 這種方式的好處?*/
? ? ? ? case 10:
? ? ? ? case 9:
? ? ? ? ? ? printf("等級(jí)A");
? ? ? ? ? ? break;
? ? ? ? case 8:
? ? ? ? ? ? printf("等級(jí)B");
? ? ? ? ? ? break; ? ? ? ? ? ? ? ?//這里是不是缺點(diǎn)什么? ? ? ? ? ? ?
? ? ? ? case 7:?
? ? ? ? case 6:?
? ? ? ? ? ? printf("等級(jí)C");
? ? ? ? ? ? break; ? ? ? ? ? ? ? ?//這里是不是缺點(diǎn)什么? ?
? ? ? ? default:
? ? ? ? ? ? printf("等級(jí)D");
? ? ? ? ? ? break; ? ?
? ? }
? ? return 0;
}
2016-07-29
1).87/=10是取該數(shù)的十位,因?yàn)橄逻叺腸ase是根據(jù)十位數(shù)進(jìn)行判斷。
2).這樣用使代碼較為簡(jiǎn)潔,如果用區(qū)間判斷的話(huà),就比較麻煩。
2016-07-29
非常謝謝
2016-07-29
因?yàn)檫@是等級(jí)判斷,而且最小的分?jǐn)?shù)差是10,所以除以10,如果是20分一個(gè)等級(jí)則除以20,這樣可以減少代碼長(zhǎng)2.度。
因?yàn)閟witch代碼對(duì)于區(qū)間之間的劃分更簡(jiǎn)單,這題還沒(méi)有明顯的·體現(xiàn),大數(shù)字的等級(jí)判定則會(huì)將switch代碼的優(yōu)點(diǎn)·體現(xiàn)出來(lái)。
2016-07-29
嗯嗯,好的,謝謝,謝謝