蓝桥杯摆烂第三天

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

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

输入描述

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

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

输出描述

输出三行。

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

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

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

复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
      int n  =scan.nextInt();
        int max=0;
        int min=100;
      int sum=0;
        for(int i=0;i<n;i++){
          int j=scan.nextInt();
          if(max<j){
            max=j;
          }
          if(min>j){
            min=j;
          }
          sum+=j;

        }
         double avg=(double)sum/n;
         System.out.println(max);
         System.out.println(min);
         System.out.printf("%.2f",avg);
        scan.close();
    }
}

思路:用min表示范围0-100,max<j就交换,min>j就交换,注意两位小数表达方式同c语言,平均数用强转double或者定义输入n为double类型。


小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256MB 的空间可以存储多少个 32 位二进制整数?

复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
     
        System.out.println(Math.abs(256*1024*1024*8/32));
        scan.close();
    }
}

思路:简单计算题

1MB = 1024KB 1KB = 1024字节(byte) 1字节 = 8位(bits),注意数值太大会变成负数,使用Math.abs()表示绝对值.

相关推荐
Web极客码9 小时前
如何用三段式确定性剪枝,为 LLM Agent 砍掉 35% 的 Token 成本?
服务器·人工智能·算法·机器学习
程序猿乐锅9 小时前
【数据结构与算法 | 第六篇】力扣1109,1094差分数组
java·算法·leetcode
wabs66610 小时前
关于图论【广度优先搜索的理论基础】
算法·图论·宽度优先
孤魂23310 小时前
逻辑回归算法
算法·机器学习·逻辑回归
weixin_3776348410 小时前
【多模型预测】 如何合理融合多个预测分值
算法·机器学习·概率论·预测·agent预测
无风听海10 小时前
Claude Agent Skills 的四种设计模式;从渐进式披露到最小权限
java·算法·设计模式
37.2℃99510 小时前
专业的Claude Design解决方案
前端·算法
め.10 小时前
定点数运算库
算法·unity
dyxal10 小时前
最长公共子序列(LCS)
python·算法
稚南城才子,乌衣巷风流13 小时前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法