網站首頁 編程語言 正文
如何實現成績等級判別
看實例
C語言實現按照考試成績的等級輸出百分制分數段,A等為85-100分,B等為70-84分,C等為60-69分,D等為60分以下。
解題思路:這是一個多分支選擇問題,根據百分制分數將學生成績分為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語句的作用是根據表達式的值,使流程跳轉到不同的語句。
用C語言解決成績評定問題
題目:給出一百分制成績,要求輸出成績等級‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。
簡單分析后得知,此問題有至少兩種解法。一種是笨方法:用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語句,所以過于繁瑣。
下面是較為簡單的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'); ? ? ?
? ? }
}
今天的分享就到這里了。
原文鏈接:https://blog.csdn.net/weixin_48669767/article/details/110009748
相關推薦
- 2022-06-02 Android實現水平帶刻度的進度條_Android
- 2022-09-22 String和StringBuilder的用法
- 2022-09-11 Shell之免交互的實現_linux shell
- 2022-07-11 Android?ListView列表優化的方法詳解_Android
- 2023-06-16 Visual?Studio?如何創建C/C++項目問題_C 語言
- 2022-10-11 CFS 調度器的vruntime
- 2022-08-03 GoFrame?glist?基礎使用和自定義遍歷_Golang
- 2022-03-30 用C語言畫一個圓_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支