编写函数输入输出M行N列的二维数组所有元素的值,并求最大元素的值及其所在的行号和列号,用C语言的方法,要去先输出最大值,行号列号,然后另起一行输出该数组的元素,要求四个数为一行
时间: 2025-02-13 15:24:44 浏览: 50
在C语言中,你可以编写一个函数来实现这个需求。首先,我们创建一个函数`print_max_array`,它接受一个二维整型数组`arr`,行数`m`和列数`n`作为参数。函数的主要步骤包括遍历数组找出最大值、存储其位置以及打印结果。
```c
#include <stdio.h>
// 函数声明
void print_max_array(int arr[][N], int m, int n);
int main() {
// 初始化一个示例二维数组
int exampleArray[5][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20} };
int rows = sizeof(exampleArray) / sizeof(*exampleArray);
int cols = sizeof(*exampleArray);
// 调用函数并打印数组的最大值及相关信息
print_max_array(exampleArray, rows, cols);
return 0;
}
// 实现寻找最大值及位置的函数
void print_max_array(int arr[][N], int m, int n) {
int max_val = arr[0][0]; // 假设第一个元素为初始最大值
int row = 0, col = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] > max_val) {
max_val = arr[i][j];
row = i;
col = j;
}
}
}
printf("最大值: %d\n", max_val);
printf("行号: %d 列号: %d\n", row + 1, col + 1); // 由于索引从0开始,加1表示显示给用户
// 打印完整的数组
printf("\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n"); // 每行结束后换行
}
}
```
阅读全文
相关推荐


















