蓝桥杯刷题记录——统计成绩

该文章提供了一个Java程序,用于处理一场考试的成绩数据,计算及格率和优秀率。程序读取学生分数,判断是否及格(60分以上)或优秀(85分以上),然后输出结果,百分比形式并四舍五入保留整数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

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

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

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

输入描述

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

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

输出描述

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

输入输出样例

示例
输入
7
80
92
56
74
88
100
0
输出
71%
43%

运行限制

  • 最大运行时间:1s

  • 最大运行内存: 256M

分析:本题主要涉及到小数精度控制、小数四舍五入相关的Java相关知识。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //使用s1,s2分别统计不低于60、85分的人数,然后除以总人数n即可
        double s1=0,s2=0;
        int n=scan.nextInt();
        for(int i=0;i<n;i++){
            double m=scan.nextDouble();
            if(m>=85){
                s2++;
            }
            if(m>=60){
                s1++;
            }
        }
        //精度控制:我使用的是String.format("%.0f",num),返回经过四舍五入后的指定精度数
        System.out.println(String.format("%.0f", s1 * 100 / n)+"%");
        System.out.println(String.format("%.0f", s2 * 100 / n)+"%");
        scan.close();
    }
}

java保留小数点后面两位(四舍五入)

三个方法:

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Main {
    public static void main(String[] args) {
        //java保留小数(四舍五入)的方法:
        //1、DecimalFormat df = new DecimalFormat("#/0.00");
        //df.format(num);
        DecimalFormat df = new DecimalFormat("#.00");
        System.out.println(df.format(57.897));

        //2、String.format("%.2f",num);
        System.out.println(String.format("%.3f", 89.33498));

        //3、使用百分数:NumberFormat nt = new NumberFormat.getPercentInstance();
        NumberFormat nt = NumberFormat.getPercentInstance();
        //设置百分数精度2,即保留2位小数(四舍五入)
        nt.setMinimumFractionDigits(2);
        System.out.println("保留两位小数值为:"+nt.format(0.50016));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值