用c语言定义一个整型二维数组,大小为m*n(0<m,n<=100),找出二维数组中的最大值。要求定义一个函数max返回最大值, 在max函数中使用了指针,m和n为该函数的形参,数组元素的值在主函数中输入。
时间: 2024-05-07 20:23:26 浏览: 131
C语言程序设计-编写自定义函数max,用来求三个数的最大值(要求:数据的输入、输出在主函数中实现)。
5星 · 资源好评率100%
下面是一个实现示例:
```c
#include <stdio.h>
int max(int *arr, int m, int n) {
int max_val = *arr;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
int val = *(arr + i * n + j);
if (val > max_val) {
max_val = val;
}
}
}
return max_val;
}
int main() {
int m, n;
printf("Please input the size of the array (m n): ");
scanf("%d %d", &m, &n);
int arr[m][n];
printf("Please input the elements of the array: \n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
int max_val = max(&arr[0][0], m, n);
printf("The maximum value in the array is: %d\n", max_val);
return 0;
}
```
在这个代码中,我们首先定义了一个 `max` 函数,该函数接受一个整型指针 `arr`、两个整数 `m` 和 `n`。在函数中,我们使用两个嵌套的循环遍历整个二维数组,找到最大值并返回它。
在 `main` 函数中,我们首先从用户获取二维数组的大小,然后定义一个 `m x n` 的二维数组 `arr`。接着,我们从用户输入二维数组的元素值,并通过指针将整个数组传递给 `max` 函数,最后输出找到的最大值。
阅读全文