[蓝桥杯 2020 省 AB2] 成绩分析
题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 100 100 分,每个学生的得分都是一个 0 0 0 到 100 100 100 的整数。
请计算这次考试的最高分、最低分和平均分。
输入格式
输入的第一行包含一个整数 n n n,表示考试人数。
接下来 n n n 行,每行包含一个 0 0 0 至 100 100 100 的整数,表示一个学生的得分。
输出格式
输出三行。
第一行包含一个整数,表示最高分。
第二行包含一个整数,表示最低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
样例 #1
样例输入 #1
7
80
92
56
74
88
99
10
样例输出 #1
99
10
71.29
提示
对于 50 % 50 \% 50% 的评测用例, 1 ≤ n ≤ 100 1 \leq n \leq 100 1≤n≤100。
对于所有评测用例, 1 ≤ n ≤ 10000 1 \leq n \leq 10000 1≤n≤10000。
蓝桥杯 2020 第二轮省赛 A 组 F 题(B 组 F 题)。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong(); // 人数
int[] scores = new int[(int) n]; // 数组长度需要转换为int类型
// 循环读取分数并添加到数组中
for (int i = 0; i < n; i++) { // 循环索引应从0开始
int score = sc.nextInt();
scores[i] = score; // 使用索引赋值,而不是add方法
}
int sum = 0;
int max = scores[0], min = scores[0]; // 初始化最大值和最小值
double avg;
// 找出最大值和最小值
for (int score : scores) {
sum += score;
max = Math.max(max, score);
min = Math.min(min, score);
}
// 计算平均值
avg = (double) sum / n;
System.out.println(max);
System.out.println(min);
System.out.println(avg);
sc.close();
}
}
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();//人数
int[] scores = new int[(int) n];
for(int i=0;i<n;i++){
int score = sc.nextInt();
scores[i]=score;
}
int sum=0;
int max,min;
double avg;
Arrays.sort(scores);
max=scores[scores.length-1];
min=scores[0];
for(int j=0;j<scores.length;j++){
sum+=scores[j];
}
avg=(double)sum/n;
System.out.println(max);
System.out.println(min);
System.out.println(avg);
sc.close();
}
}