编写程序,将输入的20名学生的成绩保存到数组中,求出其最高分,最低分及平均分
时间: 2024-11-03 12:19:47 浏览: 77
编写这样的程序,通常需要以下步骤:
1. **创建数组**:首先定义一个可以存储20个学生成绩的数组,比如`double[] scores = new double[20];`
2. **获取输入**:使用循环结构如for循环,提示用户依次输入每个学生的成绩,并将其存储到数组中。
```java
for (int i = 0; i < 20; i++) {
System.out.println("请输入第 " + (i+1) + " 名学生的成绩:");
scores[i] =.nextDouble(); // 假设你是Java环境,这里使用Scanner的nextDouble()方法
}
```
3. **查找最高分和最低分**:遍历数组,分别记录下当前找到的最大值(最高分)和最小值(最低分)。
```java
double maxScore = scores[0];
double minScore = scores[0];
for (double score : scores) {
if (score > maxScore) {
maxScore = score;
}
if (score < minScore) {
minScore = score;
}
}
```
4. **计算平均分**:遍历完整个数组后,可以用总分数除以学生人数得到平均分。
```java
double sum = 0;
for (double score : scores) {
sum += score;
}
double averageScore = sum / scores.length;
```
5. **输出结果**:最后,打印出最高分、最低分和平均分。
```java
System.out.println("最高分:" + maxScore);
System.out.println("最低分:" + minScore);
System.out.println("平均分:" + averageScore);
```
完整的Java代码示例:
```java
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double[] scores = new double[20];
for (int i = 0; i < 20; i++) {
System.out.println("请输入第 " + (i+1) + " 名学生的成绩:");
scores[i] = input.nextDouble();
}
double maxScore = scores[0];
double minScore = scores[0];
double sum = 0;
for (double score : scores) {
if (score > maxScore) {
maxScore = score;
} else if (score < minScore) {
minScore = score;
}
sum += score;
}
double averageScore = sum / scores.length;
System.out.println("最高分:" + maxScore);
System.out.println("最低分:" + minScore);
System.out.println("平均分:" + averageScore);
}
}
```
阅读全文