有一个3*4的矩阵,要求用c语言编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
时间: 2024-12-20 10:24:12 浏览: 42
在C语言中,你可以通过遍历矩阵来找到最大值及其位置。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
// 函数声明,返回最大值、行数和列数
void findMax(int matrix[ROWS][COLS], int row, int col);
int main() {
int matrix[ROWS][COLS] = { {5, 3, 9, 1}, {7, 8, 2, 6}, {4, 10, 5, 11} }; // 示例矩阵
int max_val, row, col;
findMax(matrix, 0, 0); // 调用函数开始查找
printf("最大值: %d, 行号: %d, 列号: %d\n", max_val, row, col);
return 0;
}
// 定义函数findMax
void findMax(int matrix[ROWS][COLS], int row, int col) {
int i, j, current_max = matrix[row][col];
// 如果当前位置不是第一个元素,则比较当前值与上一个位置的值
if (row > 0 || col > 0)
current_max = matrix[row][col] > current_max ? matrix[row][col] : current_max;
for (i = 0; i < ROWS; ++i) { // 遍历行
for (j = 0; j < COLS; ++j) { // 遍历列
if (matrix[i][j] > current_max) { // 如果找到更大的值
current_max = matrix[i][j];
row = i; // 更新行号
col = j; // 更新列号
}
}
}
// 返回最大值和坐标
}
```
这个程序首先初始化一个3x4的矩阵,然后定义`findMax`函数,该函数会递归地遍历矩阵,更新最大值及其对应的行和列。在主函数中,我们调用`findMax`并打印结果。
阅读全文
相关推荐


















