二维整型数组找出其中的最大数和 最小数,并把数组中最大数 和最小数进行交换定义一个3行4列的二维整型 数组,通 过键盘赋值 ,找出其中的最大 数和最小数,并把数组中最大数和最小数进行交换,把处理后的二
时间: 2024-12-20 10:23:31 浏览: 9
C语言程序设计-从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,
5星 · 资源好评率100%
首先,我们可以创建一个3行4列的二维整型数组,然后通过循环遍历整个数组来找到最大值和最小值。以下是步骤:
1. 定义数组并初始化为0(可以接受用户输入,这里简化成全为0的示例):
```java
int[][] arr = new int[3][4];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
arr[i][j] = 0;
}
}
```
2. 找出最大值和最小值:
```java
int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
} else if (arr[i][j] < min) {
min = arr[i][j];
}
}
}
```
3. 交换最大值和最小值:
```java
int temp = max;
max = min;
min = temp;
// 检查是否需要交换原始数组中的元素,因为最大值已经变成了当前的最小值
if (arr[arr[0].indexOf(max)][arr[1].indexOf(max)] != max) {
// 在二维数组中找到最大值的位置并交换
int[] indices = {arr[0].indexOf(max), arr[1].indexOf(max)};
swap(arr, indices[0], indices[1]);
}
public static void swap(int[][] arr, int i, int j) {
int temp = arr[i][j];
arr[i][j] = arr[i][j % arr[i].length]; // 为了防止越界,对列索引取模
arr[i][j % arr[i].length] = temp;
}
```
4. 输出处理后的数组:
```java
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
```
阅读全文