第七章第四题(分析成绩)(Analyze scores) - 编程练习题答案

编写一个程序,读人个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输人一个负数表示输入的结束。假设最高分为100。

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));
    }
}

适用Java语言程序设计与数据结构(基础篇)(原书第11版)Java语言程序设计(基础篇)(原书第10/11版)

发布在博客:(https://cn.fankuiba.com)

posted @ 2020-07-05 00:25  in2013  阅读(327)  评论(0编辑  收藏  举报