c语言找出二维数组中的最大值和最小值并输出对应的数组下标
时间: 2025-02-10 11:15:21 浏览: 58
在C语言中,要找出二维数组中的最大值和最小值及其对应的下标,你可以使用两层嵌套循环遍历数组,并维护两个变量分别存储当前的最大值和最小值以及它们的索引。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义二维数组的类型
typedef int arr_type[rows][cols];
// 找出二维数组中的最大值和最小值及其下标
void find_max_min(arr_type array, int rows, int cols, int max_val[], int min_val[], int* max_row, int* max_col, int* min_row, int* min_col) {
*max_val = array[0][0]; // 初始化最大值和最小值
*min_val = array[0][0];
*max_row = 0;
*max_col = 0;
*min_row = 0;
*min_col = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (array[i][j] > *max_val) {
*max_val = array[i][j];
*max_row = i;
*max_col = j;
}
if (array[i][j] < *min_val) {
*min_val = array[i][j];
*min_row = i;
*min_col = j;
}
}
}
}
int main() {
const int rows = 5;
const int cols = 4;
arr_type my_array = {
{10, 20, 30, 40},
{50, 60, 70, 80},
{90, 100, 110, 120},
{130, 140, 150, 160},
{170, 180, 190, 200}
};
int max_val, min_val;
int max_row, max_col, min_row, min_col;
find_max_min(my_array, rows, cols, &max_val, &min_val, &max_row, &max_col, &min_row, &min_col);
printf("最大值:%d, 下标 (%d,%d)\n", max_val, max_row, max_col);
printf("最小值:%d, 下标 (%d,%d)\n", min_val, min_row, min_col);
return 0;
}
```
在这个示例中,`find_max_min`函数接收数组、行数、列数以及指向最大值和最小值的指针,同时返回对应的最大值和最小值的位置。在`main`函数里,我们创建了一个二维数组并调用了这个函数。
阅读全文
相关推荐


















