通过C语言实现要求找出3X4矩阵中的最小值与最大值及其所在的行和列。
时间: 2024-12-11 08:22:03 浏览: 17
从键盘输入三个整数求其中最大值和最小值-C语言选择结构程序设计
在C语言中,为了找出3x4矩阵中的最小值、最大值以及它们的行和列位置,我们可以创建一个函数来遍历整个矩阵。下面是一个示例,我们将使用二维数组代表矩阵,并返回一个结构体来保存结果:
```c
#include <stdio.h>
// 定义一个结构体来存放最小值和最大值的位置信息
typedef struct {
int min_value;
int max_value;
int row_min, col_min, row_max, col_max;
} Result;
Result find_min_max(int matrix[3][4]) {
Result result;
result.min_value = matrix[0][0]; // 初始设置最小值为第一个元素
result.max_value = matrix[0][0]; // 初始设置最大值为第一个元素
result.row_min = 0;
result.col_min = 0;
result.row_max = 0;
result.col_max = 0;
// 遍历矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (matrix[i][j] < result.min_value) {
result.min_value = matrix[i][j];
result.row_min = i;
result.col_min = j;
} else if (matrix[i][j] > result.max_value) {
result.max_value = matrix[i][j];
result.row_max = i;
result.col_max = j;
}
}
}
return result;
}
int main() {
int matrix[3][4] = {{5, 3, 7, 2},
{9, 1, 8, 6},
{4, 6, 2, 10}};
Result result = find_min_max(matrix);
printf("最小值: %d, 行: %d, 列: %d\n", result.min_value, result.row_min + 1, result.col_min + 1);
printf("最大值: %d, 行: %d, 列: %d\n", result.max_value, result.row_max + 1, result.col_max + 1);
return 0;
}
```
这个程序首先定义一个结构体来存储结果,然后在一个嵌套循环中比较当前元素与已知最小值和最大值,更新相应的位置信息。在主函数中,我们定义一个3x4的矩阵,然后调用`find_min_max`函数并打印出结果。
阅读全文