【C语言作业2】将百分制转化为成绩等级

#include <stdio.h>

int main()
{
    int score;
    scanf("%d",&score);
    int s;

    if( score<0||score>100)
    {
        printf("Error!Retry\n");
        scanf("%d",&score);
    }

    s=score/10;
    switch (s)
    {
    case 6:
        printf("Pass");
        break;
    case 7:
        printf("Pass");
        break;
    case 8:
        printf("Good");
        break;
    case 9:
        printf("Outstanding");
        break;
    case 10:
        printf("Outstanding");
        break;
    default:
        printf("Failed");
        break;
    }

    return 0;
}
  • 百分制转化为等级,非常适合采用switch结构。当然也可以用if-else结构。
  1. 要对输入的数据进行范围划定,在0~100之间。
  2. switch结构中case后面跟的是整形常量表达式。可以采用/10来处理。
  3. 不要忘记break!!!也不要忘记default!
  • 注意:case后面必须是常量表达式,这个值和全局变量的初始值一样必须在编译时计算出来。
  • switch结构和if-else结构的比较
  1. if-else比swich的条件控制更强大一些:if-else可以按照各种逻辑运算的结果进行流程控制,swich只能进行整数的==判断。
  2. swich比if-else更清晰。
  3. 两者都要尽量避免用的过多、过长,尤其不要嵌套的太多。
  • 此文为上课笔记,方便以后查看
  • 运行结果如下:

 

   


版权声明:本文为qq_44314658原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。