题目描述
小蓝给学生们组织了一场考试,卷面总分为 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版权协议,转载请附上原文出处链接和本声明。