蓝桥杯刷题详解1——成绩统计(20年省赛)

题目描述

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

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

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

输入描述

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

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

输出描述

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

输入输出样例

样例输入                                                                

7
80
92
56
74
88
100
0

样例输出                                                            

71%
43%

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

题目链接:成绩统计

--------------------------------------------

AC解题思路

1、首先审题,题目可以采用Java一维数组进行处理;

2、然后用循环将数据录入数组后,进行循环判断,可以先定义两个变量countPass 和 countGood然后再根据题目要求将及格人数与优秀人数存放在这两个变量中。

3、再然后用double高精度类型定义及格率和优秀率,注意这里的分母由于输入的是int类型,所以要×1.0予以转化。

2、最后,由于题目最后需要四舍五入,所以要用到java中的math库中的round取整函数,再在数字末尾拼接上%即可;

٩(๑>◡<๑)۶ ٩(๑❛ᴗ❛๑)۶ ٩(๑>◡<๑)۶

import java.util.Scanner;
import java.math.*;
 
public class Main {
 public static void getPass(int n,int array[]){
        int countPass = 0;//定义及格人数变量
        int countGood = 0;//定义优秀人数变量
        for(int i=0;i<n;i++){
            if (array[i]>=60){
                if (array[i]>=85){
                    countGood++;
                }
                countPass++;
            }
        }//判断循环
        double passRate = countPass/(n*1.0);//及格率(不要忘了分母是int类型需要转化)
        double goodRate =countGood/(n*1.0);//优秀率(不要忘了分母是int类型需要转化)
        System.out.println(Math.round(passRate*100)+"%");
        System.out.println(Math.round(goodRate*100)+"%");//因为最后输出的是百分比,故*100
    }
//定义getPass()计算函数
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int array[] = new int[n];
        for(int i=0;i<n;i++){
            array[i] = scan.nextInt();
        }//录入数据
        getPass(n,array);
        scan.close();
    }
}
//结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值