C语言如何实现成绩等级判别
作者:小林C语言
这篇文章主要介绍了C语言如何实现成绩等级判别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
如何实现成绩等级判别
看实例
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'); } }
今天的分享就到这里了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。