蓝桥杯摆烂第三天

小蓝给学生们组织了一场考试,卷面总分为 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()表示绝对值.

相关推荐
Run_Teenage1 小时前
C++:智能指针的使用及其原理
开发语言·c++·算法
mit6.8242 小时前
二维差分+前缀和
算法
民乐团扒谱机2 小时前
自然的算法:从生物进化到智能优化 —— 遗传算法的诗意与硬核“
算法
希望有朝一日能如愿以偿2 小时前
力扣每日一题:仅含1的子串数
算法·leetcode·职场和发展
漂流瓶jz3 小时前
SourceMap数据生成核心原理:简化字段与Base64VLQ编码
前端·javascript·算法
今天的砖很烫3 小时前
ThreadLocal 中弱引用(WeakReference)设计:为什么要 “故意” 让 Key 被回收?
jvm·算法
苏小瀚3 小时前
算法---FloodFill算法和记忆化搜索算法
数据结构·算法·leetcode
苏小瀚3 小时前
算法---二叉树的深搜和回溯
数据结构·算法
诗9趁年华3 小时前
深入分析线程池
java·jvm·算法