用JAVA编写出,问题描述:输入n(n《=100),按照绝对值从大到小排序后输出,题目保证对于每一个测试用例,所有数的绝对值都不相等。 输入格式:输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据结束,不作处理。 输出格式:对于每个测试用例,输出排序后的结果,两个数之间用一个空格隔开。每个测试用例占一行。
时间: 2023-12-14 22:39:43 浏览: 69
以下是Java代码实现:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
int n = scanner.nextInt();
if (n == 0) {
break;
}
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
Arrays.sort(nums, (a, b) -> Math.abs(b) - Math.abs(a)); // 按照绝对值从大到小排序
for (int i = 0; i < n; i++) {
System.out.print(nums[i] + " ");
}
System.out.println();
}
}
}
```
代码思路:
1. 首先读入一个整数n,如果n为0,则退出循环;
2. 然后读入n个整数存储在nums数组中;
3. 使用Arrays.sort方法对nums数组进行排序,排序规则是按照绝对值从大到小排序;
4. 遍历nums数组输出排好序的结果。
阅读全文