利用C语言判断输入数据所在等级(同时含有if语句与switch语句)


题目:

  输入学生的百分制成绩(0~100的整数),输出对应的成绩等级(A~E)。

  对应规则如下:

  [90,100]:等级 A

  [80,90):等级 B

  [70,80):等级 C

  [60,70):等级 D

  [0,60):等级 E

具体要求:

  (1)输入,输出要有提示信息,输入成绩后要检查数据的结合性,如果输入的成绩不是0~100的数,则输出“输入错误!”。程序运行结果示例如下:

      请输入百分制成绩:86

      成绩等级: B

  (2)分别使用嵌套的if语句和switch语句实现多分支选择

  (3)分别输入109,59,60,70,80,90,100和其他整数,对程序进行测试。

Tip:

  注意定义变量使用的语句(int,double,float等)

  #define _CRT_SECURE_NO_WARNINGS 1与scanf_s可以二选一在这里面

代码如下:

  先用if语句根据用户输入的数据,进行判断输入对应的数字,再根据数字对应输出成绩等级其实本人认为,这个题可以用if语句直接解决,有效的节省空间,但是不知道怎么了,在写代码的时候想if语句和switch语句一起使用,就用了现在的结果,还应该有最优解,欢迎斧正!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
main()
{
    int  k, j;
    k = 0;
    printf("请输入百分制成绩:");
    scanf_s("%d", &j);
    if (j <= 100 && j >= 90)
    {
        k = 1;
    }
    else if (j < 90 && j >= 80)
    {
        k = 2;
    }
    else if (j < 80 && j >= 70)
    {
        k = 3;
    }
    else if (j < 70 && j >= 60)
    {
        k = 4;
    }
    else if (j < 60 && j >= 0)
    {
        k = 5;
    }
    else
    {
        printf("\t输入错误!\n");
    }

    switch (k)
    {
    case 1:printf("\t成绩等级:A\n"); break;
    case 2:printf("\t成绩等级:B\n"); break;
    case 3:printf("\t成绩等级:C\n"); break;
    case 4:printf("\t成绩等级:D\n"); break;
    case 5:printf("\t成绩等级:E\n"); break;
    }
        printf("欢迎使用李同学所写的代码,希望能给到你一些帮助!");
}

在此就给出:一张输入数据正确的截图 和 一张输入错误数据的截图

书上说这个题难度:两颗星

有想看什么程序的 可以评论喔~~~

阿婆主的粉丝少 肯定会回的啦 

我是李同学,希望此篇内容对你有帮助


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM