解題思路:這是一個多分支選擇問題,根據百分制分數將學生成績分為4個等級,如果用if語句來處理至少需要3層巢狀的if,進行3次檢查判斷。用switch語句,進行一次檢查即可得到結果。
原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式 { char grade; //定義成績級別字元變數 printf("輸入成績級別:");//提示語句 scanf("%c",&grade); //鍵盤輸入 printf("成績段:");//提示語句 switch(grade) //switch多分支 { case'A':printf("85-100\n");break;//輸出A的成績分佈 case'B':printf("70-84\n");break;//輸出B的成績分佈 case'C':printf("60-69\n");break;//輸出C的成績分佈 case'D':printf("不及格小於60\n");break;//輸出D的成績分佈 default:printf("輸入成績等級有誤\n");//輸出成績級別有誤 } return 0;//函式返回值為0 }
編譯結果:
輸入成績級別:D成績段:不及格小於60--------------------------------Process exited after 1.931 seconds with return value 0請按任意鍵繼續. . .
讀者需要注意的一點是:switch後面括號內的“表示式”,其值的型別應為整數型別(包括字元型),switch語句的作用是根據表示式的值,使流程跳轉到不同的語句。
最新評論