使用C语言编写一个程序,该程序能够接收一个4x5的二维数组作为输入,然后找出该数组中的最大值和最小值,并输出这些最大值和最小值以及它们对应的下标位置。
时间: 2025-01-27 20:14:25 浏览: 53
当你需要编写一个C语言程序来完成这个任务时,首先需要定义一个结构体来存储元素及其索引,然后创建一个函数来遍历数组并找到最大值、最小值及它们的坐标。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义结构体来存储数组元素和其索引
typedef struct {
int value;
int row, col; // 行和列索引
} ArrayValue;
// 函数来比较两个结构体并更新最大值和最小值
void findMinMax(int arr[4][5], ArrayValue maxVal, ArrayValue minVal) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++) {
if (arr[i][j] > maxVal.value) { // 如果当前元素大于最大值
maxVal.value = arr[i][j];
maxVal.row = i;
maxVal.col = j;
} else if (arr[i][j] < minVal.value) { // 如果当前元素小于最小值
minVal.value = arr[i][j];
minVal.row = i;
minVal.col = j;
}
}
}
}
int main() {
int arr[4][5] = { {5, 10, 15, 20, 25}, {30, 35, 40, 45, 50}, {55, 60, 65, 70, 75}, {80, 85, 90, 95, 100} };
ArrayValue max, min;
// 初始化最大值和最小值
max.value = min.value = arr[0][0];
max.row = min.row = 0;
max.col = min.col = 0;
// 找出最大值和最小值
findMinMax(arr, max, min);
printf("最大值: %d, 位置: (%d,%d)\n", max.value, max.row, max.col);
printf("最小值: %d, 位置: (%d,%d)\n", min.value, min.row, min.col);
return 0;
}
```
这个程序会打印出给定4x5数组中的最大值、最小值以及它们所在的行和列索引。
阅读全文
相关推荐










