c语言交换二位数组最大值和最小值的位置
时间: 2024-05-08 13:20:42 浏览: 59
以下是用 C 语言实现交换二维数组最大值和最小值位置的示例代码:
```c
#include <stdio.h>
void swap(int arr[][3], int max_i, int max_j, int min_i, int min_j) {
int temp = arr[max_i][max_j];
arr[max_i][max_j] = arr[min_i][min_j];
arr[min_i][min_j] = temp;
}
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int max_i = 0, max_j = 0, min_i = 0, min_j = 0;
// 找到最大值和最小值的位置
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
if(arr[i][j] > arr[max_i][max_j]) {
max_i = i;
max_j = j;
}
if(arr[i][j] < arr[min_i][min_j]) {
min_i = i;
min_j = j;
}
}
}
printf("交换前的数组:\n");
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
swap(arr, max_i, max_j, min_i, min_j);
printf("交换后的数组:\n");
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码会输出以下结果:
```
交换前的数组:
1 2 3
4 5 6
7 8 9
交换后的数组:
9 2 3
4 5 6
7 8 1
```
阅读全文