ECNU 3288 成绩计算
链接
https://acm.ecnu.edu.cn/problem/3288
题目
单点时限: 2.0 sec
内存限制: 256 MB
编写一个程序,输入全班同学某门课考试成绩,找出其中最高分和最低分并计算平均成绩。
输入格式
第 行输入一个整数(),表示测试数据组数。
接下来T行,每行输入全班同学的成绩(成绩取值范围为0~100),以一个特殊的数据 -1作为输入结束,根据结束标志统计人数。两个整数之间用一个空格分隔。
学生人数最多不超过100。
输出格式
对于每个问题,输出一行编号( 开始编号,格式:case #0: 等),然后在三行中分别输出最高分、最低分和平均成绩。注意:平均成绩保留整数部分(无需四舍五入)。
样例
input
3
98 62 37 89 12 77 89 67 99 65 -1
100 98 67 23 45 77 88 99 96 45 45 50 70 80 90 20 30 40 -1
0 90 80 70 60 50 40 30 20 10 78 89 23 44 55 66 77 88 99 0 100 -1
output
case #0:
99
12
69
case #1:
100
20
64
case #2:
100
0
55
思路
水题,多行输入,求最大值最小值,输入时候记录一下就行,最后统计总分和总人数,不用四舍五入那就直接除一下就行。
代码
public static void fun() {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int tt = 0; tt < t; tt++) {
int max = 0;
int min = 101;
int num = 0;
int sum = 0;
while (sc.hasNextInt()) {
int tmp = sc.nextInt();
if (tmp == -1) {
break;
}
if (tmp > max) {
max = tmp;
}
if (tmp < min) {
min = tmp;
}
num++;
sum += tmp;
}
System.out.println("case #" + tt + ":");
System.out.println(max);
System.out.println(min);
System.out.println(sum / num);
}
}