如何实现成绩等级判别

看实例

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

相关文章: