用c语言编写一个子函数,通过定义全局变量查找3×3矩阵的最大值和最小值,在main函数中输出。
时间: 2024-12-30 07:38:30 浏览: 5
在C语言中,你可以创建一个名为`findMinMax`的子函数,用于遍历整个3x3矩阵并找到最大值和最小值。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义全局数组作为3x3矩阵
int matrix[3][3] = {
{5, 2, 9},
{1, 7, 4},
{8, 6, 3}
};
// 子函数声明
void findMinMax(int row, int col, int min_val, int max_val);
// 主函数
int main() {
// 初始化最小值和最大值
int min_val = matrix[0][0], max_val = matrix[0][0];
// 调用子函数
findMinMax(0, 0, min_val, max_val);
printf("最小值: %d\n", min_val);
printf("最大值: %d\n", max_val);
return 0;
}
// 子函数
void findMinMax(int row, int col, int min_val, int max_val) {
// 遍历矩阵
if (row >= 3 || col >= 3) {
// 如果已达到矩阵边界,结束递归
return;
}
// 比较当前元素与已知最小值和最大值
if (matrix[row][col] < min_val) {
min_val = matrix[row][col];
} else if (matrix[row][col] > max_val) {
max_val = matrix[row][col];
}
// 继续查找下一个元素
findMinMax(row + 1, col, min_val, max_val); // 下一行
findMinMax(row, col + 1, min_val, max_val); // 下一列
findMinMax(row - 1, col, min_val, max_val); // 上一行
findMinMax(row, col - 1, min_val, max_val); // 上一列
}
阅读全文