编写一个C语言代码:编写函数输入输出M行N列的二维数组所有元素的值并且求最大元素的值及其所在的行号和列号输入输出M行N列的二维数组所有元素的值,并且求最大元素的值及其所在的行号和列号,要求每个模块都用函数完成。
时间: 2023-12-12 12:03:29 浏览: 213
下面是一个实现上述功能的C语言代码:
```
#include <stdio.h>
// 输入二维数组
void inputArray(int array[][100], int m, int n) {
printf("请输入%d行%d列的二维数组:\n", m, n);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &array[i][j]);
}
}
}
// 输出二维数组
void outputArray(int array[][100], int m, int n) {
printf("输出%d行%d列的二维数组:\n", m, n);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d\t", array[i][j]);
}
printf("\n");
}
}
// 求最大元素及其行号和列号
void findMax(int array[][100], int m, int n, int *max, int *row, int *col) {
*max = array[0][0];
*row = 0;
*col = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (array[i][j] > *max) {
*max = array[i][j];
*row = i;
*col = j;
}
}
}
}
int main() {
int m, n;
int array[100][100];
int max, row, col;
printf("请输入二维数组的行数和列数:\n");
scanf("%d %d", &m, &n);
inputArray(array, m, n);
outputArray(array, m, n);
findMax(array, m, n, &max, &row, &col);
printf("最大元素为:%d,所在行号为:%d,所在列号为:%d\n", max, row, col);
return 0;
}
```
主函数中首先读入二维数组的行数和列数,然后调用 `inputArray` 函数输入二维数组,调用 `outputArray` 函数输出二维数组,最后调用 `findMax` 函数求出最大元素及其行号和列号,并输出结果。注意在 `findMax` 函数中,通过使用指针将最大元素、行号和列号的值返回给主函数。
阅读全文