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