编写静态方法sortnum(),实现将10个数降序排列。在main()方法中创建数组并调用 sortnum()方法实现排序功能。
时间: 2023-12-14 12:38:59 浏览: 68
下面是一个示例代码:
```
public class SortNumExample {
public static void sortnum(int[] nums) {
Arrays.sort(nums);
for (int i = 0; i < nums.length / 2; i++) {
int temp = nums[i];
nums[i] = nums[nums.length - 1 - i];
nums[nums.length - 1 - i] = temp;
}
}
public static void main(String[] args) {
int[] nums = {3, 5, 2, 7, 1, 9, 8, 4, 6, 0};
sortnum(nums);
System.out.println(Arrays.toString(nums));
}
}
```
首先,在sortnum方法中,我们使用Arrays.sort()方法对数组进行升序排列。然后,我们使用两个指针从数组两端向中间遍历,交换元素,以实现降序排列。
在main方法中,我们创建一个数组并调用sortnum方法进行排序。最后,我们使用Arrays.toString()方法将排序后的数组打印出来。
相关问题
2、编写静态方法sortnum(),实现将10个数降序排列。在main()方法中创建数组并调用 sortnum()方法实现排序功能。
以下是静态方法sortnum()的实现:
```java
public static void sortnum(int[] arr) {
Arrays.sort(arr); //先升序排列
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp; //交换元素位置实现降序排列
}
}
```
在main()方法中,可以这样使用sortnum()方法:
```java
public static void main(String[] args) {
int[] arr = {3, 7, 1, 9, 2, 8, 5, 4, 6, 0};
sortnum(arr);
System.out.println(Arrays.toString(arr));
}
```
输出结果为:
```
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
```
c语言 主函数中定义数组int num[10]; 存放10个随机整数,函数void sortnum(int *p, int n); 实现将数组中的前n个数按从小到大排序,后10-n个数从大到小排序,主函数中调用函数,实现对数据的处理,并输出结果。
下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void sortnum(int *p, int n); // 声明函数
int main()
{
int num[10];
int n = 0;
srand((unsigned int)time(NULL)); // 用当前时间初始化随机种子
for (int i = 0; i < 10; i++) {
num[i] = rand() % 100; // 随机生成0到99之间的整数
printf("%d ", num[i]);
}
printf("\n请输入要排序的前n个数(n应小于等于10):");
scanf("%d", &n);
sortnum(num, n); // 调用函数
printf("排序后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", num[i]);
}
return 0;
}
void sortnum(int *p, int n)
{
int temp;
// 对前n个数进行从小到大排序
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (*(p + i) > *(p + j)) {
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
// 对后10-n个数进行从大到小排序
for (int i = n; i < 10 - 1; i++) {
for (int j = i + 1; j < 10; j++) {
if (*(p + i) < *(p + j)) {
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
}
}
```
在这个代码中,我们先使用 `srand()` 函数初始化随机种子,然后使用 `rand()` 函数生成随机数并存储在 `num` 数组中,并且将其输出。接下来,我们让用户输入要排序的前n个数,然后调用 `sortnum()` 函数对数组进行排序。最后,我们将排序后的数组输出。
阅读全文