任务三、成绩等级评定

成绩等级评定

  • 对百分制成绩评定等级
(100, +):超出范围
[90, 100]:优秀
[80, 90):良好
[70, 80):中等
[60, 70):及格
[0, 60):不及格
(-, 0):超出范围

(一)编程实现

方法一、采用并列式多分支结构评定成绩等级

  • 思路:有多少种情况,就并列写多少个单分支,分支之间相互独立在这里插入图片描述
  • 第1个分数段: s c o r e > 100 , s c o r e ∈ ( 100 , + ∞ ) score >100,score\in (100,+\infty) score>100,score(100,+) -超出范围
  • 第2个分数段: 90 ≤ s c o r e ≤ 100 , s c o r e ∈ [ 90 , 100 ] 90 \le score \le 100,score \in [90,100] 90score100,score[90,100] -优秀
  • 第3个分数段: 80 ≤ s c o r e < 90 , s c o r e ∈ [ 80 , 90 ] 80 \le score \lt 90,score \in [80,90] 80score<90,score[80,90] -良好
  • 第4个分数段: 70 ≤ s c o r e < 80 , s c o r e ∈ [ 70 , 80 ] 70 \le score \lt 80,score \in [70,80] 70score<80,score[70,80] -中等
  • 第5个分数段: 60 ≤ s c o r e < 70 , s c o r e ∈ [ 60 , 70 ] 60 \le score \lt 70,score \in [60,70] 60score<70,score[60,70] -及格
  • 第6个分数段: 0 ≤ s c o r e < 60 , s c o r e ∈ [ 0 , 60 ] 0 \le score \lt 60,score \in [0,60] 0score<60,score[0,60] -不及格
  • 第7个分数段: s c o r e < 0 , s c o r e ∈ ( − ∞ , 0 ) score \lt 0,score \in (-\infty,0) score<0,score,0 -超出范围
  • net.ouyangyi.p02.t03创建Task03_1
    在这里插入图片描述
    在这里插入图片描述
  • 怎么解决这个问题呢?很简单,在处理部分之前将level初始化为空字符串
    在这里插入图片描述
  • 运行程序,查看结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 总结:并列式多分支结构,优点是易于理解,但缺点是效率低(思考一下,为什么效率低)
  • 其实,这个程序可以做点优化,因为成绩大于100分或小于0 分都是超出范围,所以可以将这两个并列的分支合二为一。

方法二、采用嵌套式多分支结构评定成绩等级

思路1:从高分到低分来划分各个分数段
  • net.ouyangyi.p02.t03包里面创建Task03_2
    在这里插入图片描述
    在这里插入图片描述
  • 运行程序,查看结果(测试七种情况)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

(二)知识点讲解

  • 多分支结构可有四种处理方式:并列式、嵌套式、延拓式、开关式

1、并列式多分支结构

if (条件1) {
    语句组1
}
if (条件2) {
    语句组2
}
……
if (条件n) {
    语句组n
}

2、嵌套式多分支结构

 if (条件) {
    if (条件1) {
       语句组1
    } else {
       ……
    }
} else {
    if (条件2) {
       语句组2
    } else {
       ……
    }
}

(三)拓展练习

1、确定给定日期是那一年的第几天

  • 要求输入年、月、日,最好能判断用户输入的是否是合法日期
  • 比如2022年3月31日,那是今年的第90天(31+28+31=90)
  • 比如2000年3月31日,那是2000年的第91天 (31+29+31=91)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值