题目:

  输入学生的百分制成绩(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成绩等级:An"); break;
    case 2:printf("t成绩等级:Bn"); break;
    case 3:printf("t成绩等级:Cn"); break;
    case 4:printf("t成绩等级:Dn"); break;
    case 5:printf("t成绩等级:En"); break;
    }
        printf("欢迎使用李同学所写的代码,希望能给到你一些帮助!");
}

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

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

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

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

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

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/lifser/p/15039075.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!