蓝桥与力扣刷题(蓝桥 成绩分析)

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

请计算这次考试的最高分、最低分和平均分。

输入描述

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

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

输出描述

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

输入输出样例

示例

输入

7
80
92
56
74
88
99
10

输出

99
10
71.29

解题思路+代码:

代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.StringTokenizer;

public class 成绩分析 {
    public static void main(String[] args) throws IOException {
        int t = 1;
        for (int i = 1; i <=t ; i++) {
            solve();
        }
        out.flush();
    }

    static void solve() {
        int n = in.nextInt();//考生人数
        int[] score = new int[n]; //存放学生得分的数组
        for (int i = 0; i < score.length; i++) {
            score[i] = in.nextInt(); //填充学生的分数[80,92,56,74,88,99,10]
        }
        //对数组进行排序,分数最低的为score[0],分数最高的为score[score.length - 1]
        Arrays.sort(score);
        int min = score[0]; //最低
        int max = score[score.length - 1]; //最高

        int sum = 0;
        //求平均分
        for (int i = 0; i <score.length ; i++) {
            sum += score[i];
        }
        float average = (float) sum / n;//转化为float型
        out.println(max);
        out.println(min);
        out.printf("%.2f",average); //保留两位小数
    }

    static FastReader in = new FastReader();
    static PrintWriter out = new PrintWriter(System.out);

    static class FastReader{
        BufferedReader br;
        StringTokenizer st;
        FastReader(){
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next(){
            String str = "";
            while(st == null || !st.hasMoreElements()){
                try{
                    str = br.readLine();
                }catch(IOException e){
                    throw new RuntimeException(e);
                }
                st = new StringTokenizer(str);
            }
            return st.nextToken();
        }
        int nextInt(){
            return Integer.parseInt(next());
        }
        double nextDouble(){
            return Double.parseDouble(next());
        }

        Long nextLong(){
            return Long.parseLong(next());
        }
    }
}

总结:一道简单的数学题,在输入的成绩当中用Arrays.sort进行排序,最小的为sort[0],最大的为sort[length-1],平均数用(sum += sort[i]) / n即可,但这里需要注意的保留两位小数,需要转float型,再用%.2f格式化输出。

### Python 蓝桥杯国家一等奖学习路径 #### 1. 基础准备阶段 为了在蓝桥杯比赛中取得优异的成绩,尤其是冲击国家级奖项,扎实的基础至关重要。建议先掌握 Python 的核心语法常用库。 - **Python 基础** - 数据类型、控制结构、函数定义调用等内容。 - **数据结构算法初步** - 掌握列表、字典等常见容器类型的使用方法;理解时间复杂度的概念并能分析简单代码的时间效率[^1]。 ```python def example_function(data_list): result = [] for item in data_list: if isinstance(item, int): # 判断是否为整型 result.append(item * 2) return result ``` #### 2. 提升训练阶段 当具备了一定基础知识之后,则需进一步深入到更复杂的目练习当中去。 - **平台推荐** - LeetCode、牛客网以及力扣中国站都是不错的选择,上面有大量的真可供参考。 - **重点知识点复习** - 动态规划、贪心策略、图论等方面的知识点需要特别关注,因为这些往往是高分段区分度较高的部分[^2]。 #### 3. 实战演练阶段 临近比赛前的一段时间内应该多做模拟测试,熟悉考试环境的同时也能发现自己存在的不足之处及时调整状态迎接挑战。 - **历年真解析** - 可通过网络查找历年的试集进行针对性强化训练,注意总结解法规律提高答速度准确性[^3]。 - **团队协作能力培养** - 如果是以小组形式参赛的话还需要加强成员间的沟通交流技巧以便更好地分工合作解决问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

এ旧栎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值