对一已经数组元素a[10]={48,3,98,25,33,12,88,67,56,39},将数组元素值排序输出。Java代码
时间: 2024-12-25 10:35:55 浏览: 4
可以使用Java的内置排序方法`Arrays.sort()`对数组进行排序。这里是一个简单的示例,展示了如何对给定的整数数组进行升序排列:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {48, 3, 98, 25, 33, 12, 88, 67, 56, 39};
// 对数组进行排序
Arrays.sort(a);
// 输出排序后的数组
System.out.println("排序后的数组:");
for (int num : a) {
System.out.print(num + " ");
}
}
}
```
当你运行这个程序,它会按照从小到大的顺序打印出数组的每个元素。如果需要降序排列,可以在`Arrays.sort()`后加上自定义比较器。
相关问题
用c++,统计数组中大于数组元素平均值的元素的个数。 要求:主函数定义一维整型数组a[10] ={12,34,56,78,90,9,87,65,43,21},调用自定义函数统计大于数组元素平均值的元素的个数,并在主函数中输出结果。
```c
#include<stdio.h>
int count(int arr[], int n){
int sum = 0;
for(int i = 0; i < n; i++){
sum += arr[i];
}
double avg = (double)sum / n; //求平均值
int cnt = 0;
for(int i = 0; i < n; i++){
if(arr[i] > avg){
cnt++;
}
}
return cnt;
}
int main(){
int a[10] = {12,34,56,78,90,9,87,65,43,21};
int cnt = count(a, 10);
printf("大于数组元素平均值的元素的个数为:%d\n", cnt);
return 0;
}
```
定义二维整型数组a[9][9],要求使用指针的方法对数组元素从M开始逐个赋值(每次递增1),然后将二维数组a[9][9]的外层外皮扒掉N层,形成新的二维数组b[9 - N * 2][9 - N * 2],最后输出二维数组b[9 - N * 2][9 - N * 2]上的每个元素。要求输出为9 - N * 2行,且每行的两个元素之间用1个空格隔开。 例如,M为10,N为2,二维整型数组a[9][9]的各个元素为: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 扒掉N层外皮后的二维数组b[5][5]的各个元素为: 30 31 32 33 34 39 40 41 42 43 48 49 50 51 52 57 58 59 60 61 66 67 68 69 70
代码如下:
```c
#include <stdio.h>
int main() {
int a[9][9], b[5][5];
int M, N;
printf("请输入M和N的值,以空格分隔:");
scanf("%d %d", &M, &N);
int *p = &a[0][0];
// 对二维数组a赋值
for (int i = 0; i < 9 * 9; i++) {
*(p + i) = M + i;
}
// 输出二维数组a
printf("二维数组a[9][9]的各个元素为:\n");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
// 构造新的二维数组b
int *p1 = &b[0][0];
int *p2;
for (int i = N; i < 9 - N; i++) {
for (int j = N; j < 9 - N; j++) {
p2 = &a[i][j];
*(p1++) = *p2;
}
}
// 输出新的二维数组b
printf("扒掉%d层外皮后的二维数组b[%d][%d]的各个元素为:\n", N, 9 - N * 2, 9 - N * 2);
for (int i = 0; i < 9 - N * 2; i++) {
for (int j = 0; j < 9 - N * 2; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
请输入M和N的值,以空格分隔:10 2
二维数组a[9][9]的各个元素为:
10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54
55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72
73 74 75 76 77 78 79 80 81
82 83 84 85 86 87 88 89 90
扒掉2层外皮后的二维数组b[5][5]的各个元素为:
30 31 32 33 34
39 40 41 42 43
48 49 50 51 52
57 58 59 60 61
66 67 68 69 70
```
阅读全文