蓝桥杯.Java.成绩分析

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。

请计算这次考试的最高分、最低分和平均分

输入描述

输入的第一行包含一个整数 n(1 ≤ n ≤ 10^4),表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出描述

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

题目解析

1、求最高分

int max = 0;
if(max < score)
 max = score;

首先定义max值为0,外来的数进来与0比较,==第一次进来的数(30)比0大的话,就保存为max值,与下一个进来的数进行比较。==当第二次进来的数(60)比第一次(30)的大,就将第二次的值(60)保存为max值。

以此类推,最后得出所输入这一系列的数中的最大值。

图解:

在这里插入图片描述

2、求最低分

int min = 100;
 if(min > score)
  min = score;

首先定义min值为100,外来的数进来与100比较,==第一次进来的数(60)比100小的话,就保存为min值,与下一个进来的数进行比较。==当第二次进来的数(30)比第一次(60)的小,就将第二次的值(60)保存为min值。

以此类推,最后得出所输入这一系列的数中的最大值。

图解:

在这里插入图片描述

3、求平均分

double sum = 0;
sum += score;
System.out.println(String.format("%.2f",sum/num));

求平均分:分数的总和 除 数量

保留两位小数:使用String.format来实现(以 下两种方式均可)

String.format("%.2f", sum/num); 
String.format("%.3f", sum/num);

参考代码

package Java.practice.homework;

import java.util.Scanner;

public class Homework02
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);

        int min = 100;
        int max = 0;
        double sum = 0;
        int num = scanner.nextInt();
        for(int i = 0; i < num ;i++)
        {
            int score = scanner.nextInt();
            if(max < score)
                max = score;
            if(min > score)
                min = score;
            sum += score;
        }
        System.out.println(max);
        System.out.println(min);
        System.out.println(String.format("%.2f",sum/num));
    }
}

版权声明:本文为weixin_65106708原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。