用Java实现这个问题:小蓝老师教的编程课有 N 名学生,编号依次是 1 . . . N。第 i 号学生这学期 刷题的数量是 Ai。 对于每一名学生,请你计算他至少还要再刷多少道题,才能使得全班刷题 比他多的学生数不超过刷题比他少的学生数
时间: 2024-05-27 19:10:44 浏览: 55
利用java实现学生成绩
思路:首先计算全班刷题数量和平均值,然后对每个学生判断其刷题数量是否大于平均值。若是,则不需要再刷题,否则需要再刷题数为平均值减去其刷题数量与比他少的学生数量的差。
代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] a = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
a[i] = scanner.nextInt();
sum += a[i];
}
int avg = sum / n;
for (int i = 0; i < n; i++) {
int less = 0, more = 0;
for (int j = 0; j < n; j++) {
if (a[j] < a[i]) {
less++;
} else if (a[j] > a[i]) {
more++;
}
}
if (a[i] >= avg) {
System.out.print(0 + " ");
} else {
System.out.print(avg - a[i] - less + more + " ");
}
}
}
}
阅读全文