C语言 | 成绩的等级判别(c语言中成绩等级)

例9: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语句的作用是根据表达式的值,使流程跳转到不同的语句。

相关文章

你真的了解scanf吗(scanf-s)

scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("<格式化字符串&g...

结合缓冲区谈谈C语言scanf()函数的那些奇奇怪怪行为

scanf() 是从标准输入设备(键盘)读取数据,带有行缓冲区的,这让 scanf() 具有了一些独特的特点,例如可以连续输入、可以输入多余的数据等。反过来,scanf() 也出现了一些奇怪的行为,例...

C语言学习笔记系列—第三章(c语言第二章)

继续第二章之后的学习,上一章学习认识了一些最简单的C程序。第三章将基于C的数据类型进行笔记学习,和之前一样本文还是已一个重新学习角度去认识C语言,所以文中只会引用到需要数据类型介绍。不会像其他C语言教...

第3天:7天学会C语言,每天5分钟,不需要基础

昨天讲了系统安装,今天可以继续讲编写程序了。先把昨天的作业给做了,昨天的作业是编写C语言程序输出以下图形:程序如下:怎么样?很简单吧?复习一下,每一行第2个双引号前面的 \n 是什么?对了,是换行。上...

7.C语言-选择结构设计(c语言选择结构设计实验报告)

1.IF单分支结构if(表达式) 语句表达式可以是任意表达式,语句可以是一条语句,也可以是复合语句,执行过程,先判断表达式是否为真,如果为真,那么执行语句,如果为假,那么跳过语句执行后面的程序。flo...

C语言程序编写输入任意三个数求它们的平均值?

题目:输入任意三个数求它们的平均值?程序:#include<stdio.h> int main() { int a,b,c,sum; float avg; scanf("%d %...