蓝桥杯题库及解析(java语言)

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

输入描述

输入的第一行包含一个整数 n (1≤n≤104)n (1≤n≤104),表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。

输入输出样例

示例

输入

 7
 80
 92
 56
 74
 88
 100
 0

输出

 71%
 43%

代码

 import java.util.Scanner;
 ​
 public class mp02 {
     public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         System.out.println("考试人数:");
         int n = sc.nextInt();
         double hege = 0;
         double youxiu = 0;
         System.out.println("输入学生的得分");
         for (int i = 0;i < n;i++){
             int score = sc.nextInt();
             if (score >=60 ){
                 if(score >=85){
                     youxiu++;
                 }
                 hege++;
             }
         }
         System.out.println(Math.round(hege*100/n) + "%");
         System.out.println(Math.round(youxiu*100/n) + "%");
     }
 }

笔记

一、Math.round()

在日常开发中使用的取整函数,简单来讲就是将括号内的值+0.5,然后再向下取整。 比如Math.round(X), 1、当X为正数时,第一步先X+0.5,第二步观察得到的结果的小数点左边的数为多少,则最后的取整结果就为多少。

X为20.5时,20.5+0.5后为21.0,则最后的取整结果为21;

X为20.4时,20.4+0.5后为20.9,则最后的取整结果为20。

2、当X为负数时,第一步先X+0.5,第二步观察得到的结果的小数点左边的数为多少,并判断+0.5后得到的数大于0还是小于0,小于0则最后的取整的结果为-(小数点左边的数+1),大于0则取整结果为小数点左边的数。

X为-0.6时,-0.6+0.5后为-0.1,则最后的取整结果为-1;X为-0.3时,-0.3+0.5后为0.2,则最后的取整结果为0;X为-1.2时,-1.9+0.5后为-1.4,则最后的取整结果为-2。

以下代码理解得更清晰

console.log(Math.round(0.4)); //0 console.log(Math.round(0.5)); //1 console.log(Math.round(0.6)); //1 console.log(Math.round(-0.4)); //0 console.log(Math.round(-0.5)); //0 console.log(Math.round(-0.6)); //-1

二、Math.random()

日常开发中使用到的取随机数的函数,概念也比较简单,即系统随机得到一个0(包含)~1(不包含)之间的数,一般我们在需要获取某个范围内的随机值时会使用到该函数。 返回指定范围的随机数[m,n]的公式:Math.random()*(n-m+1)+m;

如想要返回[1,10]的随机数,则返回公式为:Math.random()(10-1+1)+1,即Math.random()11;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少年负剑去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值