# 第七章第四题（分析成绩）(Analyze scores) – 编程练习题答案

Write a program that reads an unspecified number of scores and
determines how many scores are above or equal to the average and how many
scores are below the average. Enter a negative number to signify the end of the
input. Assume that the maximum number of scores is 100.

``````// https://cn.fankuiba.com
import java.util.Scanner;

public class Ans7_4_page236 {
public static void main(String[] args) {
double[] scoreList = new double[100];
Scanner input = new Scanner(System.in);
System.out.print("Enter scores: (negative number signifies end): ");
int count= 0;double score;
do {
score = input.nextDouble();
scoreList[count] = score;
count++;
}while (score >= 0);

double average,sum = 0;
for (int i = 0; i < count-1; i++)
sum += scoreList[i];

average = sum / (count - 1);
System.out.println("Average of scores: "+average);
int minAverge = 0;
int maxAverge = 0;
for (int i = 0; i < count-1; i++) {
if (scoreList[i] >= average)
minAverge++;
else
maxAverge++;
}
System.out.println("Number of scores above or equal to average: " +minAverge+
"\n"+"Number of scores below average: "+(maxAverge));
}
}``````