C語言如何實(shí)現(xiàn)成績(jī)等級(jí)判別
如何實(shí)現(xiàn)成績(jī)等級(jí)判別
看實(shí)例
C語言實(shí)現(xiàn)按照考試成績(jī)的等級(jí)輸出百分制分?jǐn)?shù)段,A等為85-100分,B等為70-84分,C等為60-69分,D等為60分以下。
解題思路:這是一個(gè)多分支選擇問題,根據(jù)百分制分?jǐn)?shù)將學(xué)生成績(jī)分為4個(gè)等級(jí),如果用if語句來處理至少需要3層嵌套的if,進(jìn)行3次檢查判斷。用switch語句,進(jìn)行一次檢查即可得到結(jié)果。
源代碼演示
#include<stdio.h>//頭文件 int main()//主函數(shù) { char grade; //定義成績(jī)級(jí)別字符變量 printf("輸入成績(jī)級(jí)別:");//提示語句 scanf("%c",&grade); //鍵盤輸入 printf("成績(jī)段:");//提示語句 switch(grade) //switch多分支 { case'A':printf("85-100\n");break;//輸出A的成績(jī)分布 case'B':printf("70-84\n");break;//輸出B的成績(jī)分布 case'C':printf("60-69\n");break;//輸出C的成績(jī)分布 case'D':printf("不及格小于60\n");break;//輸出D的成績(jī)分布 default:printf("輸入成績(jī)等級(jí)有誤\n");//輸出成績(jī)級(jí)別有誤 } return 0;//函數(shù)返回值為0 }
編譯結(jié)果:
輸入成績(jī)級(jí)別:D
成績(jī)段:不及格小于60--------------------------------
Process exited after 1.931 seconds with return value 0
請(qǐng)按任意鍵繼續(xù). . .
讀者需要注意的一點(diǎn)是:switch后面括號(hào)內(nèi)的“表達(dá)式”,其值的類型應(yīng)為整數(shù)類型(包括字符型),switch語句的作用是根據(jù)表達(dá)式的值,使流程跳轉(zhuǎn)到不同的語句。
用C語言解決成績(jī)?cè)u(píng)定問題
題目:給出一百分制成績(jī),要求輸出成績(jī)等級(jí)‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。
簡(jiǎn)單分析后得知,此問題有至少兩種解法。一種是笨方法:用if語句來完成;一種是用switch語句來完成。
首先先看“笨方法”
#include<stdio.h>//笨方法? ? int main (void) ? { ?? ?int a; ?? ? ?? ?scanf("%d",&a); ?? ? ?? ?if(a>=90) ?? ? ?putchar('A'); ?? ? ? ?? ?if(a>=80 && a<90) ?? ? ?putchar('B'); ?? ? ? ?? ?if(a>=70 && a<80) ?? ? ?putchar('C'); ?? ? ? ?? ?if(a>=60 && a<70) ?? ? ?putchar('D'); ?? ? ? ?? ?if(a<60) ?? ? ?putchar('E'); ?? ? ? ?? ?putchar('\n'); }
此方法多次使用if語句,所以過于繁瑣。
下面是較為簡(jiǎn)單的switch語句
#include<stdio.h> ? int main() { ? ? int a; ? ? scanf("%d",&a);? ? ? switch(a/10) ?? ?{ ? ? ? ? case 10: ? ? ? ? case 9: ? ? ? ? ? ? putchar('A'); ? ? ? ? ? ? break; ? ? ? ? case 8: ? ? ? ? ? ? putchar('B'); ? ? ? ? ? ? break; ? ? ? ? case 7: ? ? ? ? ? ? putchar('C'); ? ? ? ? ? ? break; ? ? ? ? case 6: ? ? ? ? ? ? putchar('D'); ? ? ? ? ? ? break; ? ? ? ? default: ? ? ? ? ? ? putchar('E'); ? ? ? ? ? } }
今天的分享就到這里了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Qt+Quick實(shí)現(xiàn)圖片演示器的開發(fā)
這篇文章主要為大家詳細(xì)介紹了Qt如何利用Quick實(shí)現(xiàn)圖片演示器的開發(fā),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Qt有一定的幫助,需要的可以參考一下2023-01-01C語言strlen函數(shù)實(shí)現(xiàn)讀取字符串長(zhǎng)度詳解
這篇文章主要介紹了用C語言的strlen函數(shù)來實(shí)現(xiàn)讀取字符串長(zhǎng)度的過程,strlen所作的是一個(gè)計(jì)數(shù)器的工作,它從內(nèi)存的某個(gè)位置開始掃描,直到碰到第一個(gè)字符串結(jié)束符'\0'為止2022-04-04