Java实现输入一个正整数n,再输入n个整数,将它们从大到小排序后输出。
时间: 2023-05-11 10:03:43 浏览: 139
可以使用Java中的Arrays.sort()方法来实现从大到小排序,具体代码如下:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
Arrays.sort(nums);
for (int i = n - 1; i >= 0; i--) {
System.out.print(nums[i] + " ");
}
}
}
输入样例:
5
3 1 4 1 5
输出样例:
5 4 3 1 1
相关问题
输入一个正整数n,再输入n个整数,将他们从大到小排序后输出
以下是Python代码实现:
```python
n = int(input())
lst = list(map(int, input().split()))
lst.sort(reverse=True)
for num in lst:
print(num, end=" ")
```
首先,我们输入一个正整数n,代表接下来要输入的整数个数。然后,我们使用`input().split()`输入n个整数,并将其转换成列表`lst`。接着,我们使用`lst.sort(reverse=True)`将列表中的元素从大到小排序。最后,我们使用`for`循环遍历排序后的列表,依次输出每个元素。由于题目要求用空格分隔每个数字,因此我们在输出时使用`end=" "`指定输出分隔符为空格。
输入n个正整数,用指针的方法将它们从大到小排序后输出,
可以使用冒泡排序或选择排序等算法来实现将n个正整数从大到小排序。具体实现方法如下:
1. 定义一个指向整型数组的指针p,用于存储输入的n个正整数。
2. 通过循环输入n个正整数,并将它们存储到指针p所指向的数组中。
3. 使用冒泡排序或选择排序等算法对数组进行排序,将数组中的元素从大到小排列。
4. 循环输出排序后的数组元素,即可得到从大到小排列的n个正整数。
下面是一个使用冒泡排序算法将n个正整数从大到小排序的示例代码:
```c
#include <stdio.h>
void bubble_sort(int *arr, int n) {
int i, j, temp;
for (i = ; i < n - 1; i++) {
for (j = ; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n, i;
int arr[100];
int *p = arr;
printf("请输入n个正整数:\n");
scanf("%d", &n);
printf("请输入%d个正整数:\n", n);
for (i = ; i < n; i++) {
scanf("%d", p + i);
}
bubble_sort(p, n);
printf("从大到小排序后的%d个正整数为:\n", n);
for (i = ; i < n; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return ;
}
```