如何实现成绩等级判别
看实例
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');
}
}
今天的分享就到这里了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。