如何用java解决小蓝老师教的编程课有 N 名学生,编号依次是 1...N。 第 i 号学生这学期刷题的数量是 Ai。 对于每一名学生,请你计算他至少还要再刷多少道题,才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N。 第二行包含 N 个整数:A1,A2,A3,...,AN。 输出格式 输出 N 个整数,依次表示第 1...N 号学生分别至少还要再刷多少道题。
时间: 2023-02-09 16:35:35 浏览: 95
为了使得一名学生刷题数量比另一名学生刷题数量多的学生人数不超过比他少的学生人数,我们需要让这名学生刷题数量增加到大于等于其他所有学生刷题数量的平均值。因此,我们可以使用以下代码来解决这个问题:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 读入学生人数
int n = scan.nextInt();
// 读入每名学生刷题数量
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = scan.nextInt();
}
// 计算平均值
int sum = 0;
for (int x : a) {
sum += x;
}
int avg = sum / n;
// 输出每名学生至少还要再刷的题目数量
for (int x : a) {
int diff = avg - x;
if (diff > 0) {
System.out.println(diff);
} else {
System.out.println(0);
}
}
}
}
```
在上面的代码中,我们首先读入了学生人数和每名学生刷题数量,然后计算了所有学生刷题数量的平均值。最后,我们对于每名学生计算他至少还要再刷的题目数量,并将结果输出到控制台。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)