c语言二维数组找出最大值及下标、最小值及下标
时间: 2023-12-02 10:03:17 浏览: 467
假设有一个二维数组 `arr`,大小为 `m` 行 `n` 列,可以使用以下代码找出最大值及其下标:
```c
int max_val = arr[0][0]; // 初始化最大值为第一个元素
int max_i = 0; // 最大值元素的行坐标
int max_j = 0; // 最大值元素的列坐标
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] > max_val) { // 如果当前元素大于最大值
max_val = arr[i][j]; // 更新最大值
max_i = i; // 更新最大值元素的行坐标
max_j = j; // 更新最大值元素的列坐标
}
}
}
printf("最大值为:%d,下标为:[%d, %d]\n", max_val, max_i, max_j);
```
同样的,可以使用以下代码找出最小值及其下标:
```c
int min_val = arr[0][0]; // 初始化最小值为第一个元素
int min_i = 0; // 最小值元素的行坐标
int min_j = 0; // 最小值元素的列坐标
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] < min_val) { // 如果当前元素小于最小值
min_val = arr[i][j]; // 更新最小值
min_i = i; // 更新最小值元素的行坐标
min_j = j; // 更新最小值元素的列坐标
}
}
}
printf("最小值为:%d,下标为:[%d, %d]\n", min_val, min_i, min_j);
```
阅读全文