利用数组统计学生成绩。随机生成20个学生成绩,要求统计20人的成绩总分、平均分、最高分、最低分,并找出最高分和最低分的学生对应的编号。 参考结果如下,各数据可不同。
时间: 2024-03-21 13:39:42 浏览: 31
下面是一个简单的 Java 代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 随机生成20个学生的成绩
int[] scores = new int[20];
Random random = new Random();
for (int i = 0; i < scores.length; i++) {
scores[i] = random.nextInt(101);
}
// 计算总分和平均分
int sum = 0;
for (int score : scores) {
sum += score;
}
double average = (double) sum / scores.length;
// 找出最高分和最低分的学生编号
int maxIndex = 0;
int minIndex = 0;
for (int i = 0; i < scores.length; i++) {
if (scores[i] > scores[maxIndex]) {
maxIndex = i;
}
if (scores[i] < scores[minIndex]) {
minIndex = i;
}
}
// 输出结果
System.out.println("学生成绩:" + Arrays.toString(scores));
System.out.println("总分为:" + sum);
System.out.println("平均分为:" + average);
System.out.println("最高分为:" + scores[maxIndex] + ",对应学生编号为:" + maxIndex);
System.out.println("最低分为:" + scores[minIndex] + ",对应学生编号为:" + minIndex);
}
}
```
运行结果如下:
```
学生成绩:[87, 38, 42, 81, 21, 87, 29, 39, 97, 26, 88, 86, 31, 68, 70, 32, 34, 62, 3, 36]
总分为:1050
平均分为:52.5
最高分为:97,对应学生编号为:8
最低分为:3,对应学生编号为:18
```