本题要求实现一个函数,可计算二维数组中的最大值。
函数接口定义:
int fun(int a[][N]);
在这里解释接口参数。例如:其中 N
和 D
都是用户传入的参数。 N
的值不超过int
的范围; D
是[0, 9]区间内的个位数。函数须返回 N
中 D
出现的次数。
裁判测试程序样例:
#include <stdio.h>
#define M 3
#define N 4
int fun(int a[][N]);
int main()
{
int x[M][N],i,j,max;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&x[i][j]);
max=fun(x);
printf("max=%d",max);
return 0;
}
/* 请在这里填写答案 */
输入样例:
1 2 3 4
5 6 7 8
9 10 11 12
输出样例:
max=12
思路:M,N都有固定的值,很明显这是一个3*4矩阵,那么我们可以采取固定行数,改变列数或者固定列数,改变行数从而实现遍历大方法对每个数进行比较,找出最大值即可,别忘了给max赋值
代码如下:
int fun(int a[][N])
{
int i,j,max;//max是我们要找得最大值
max=a[0][0];
for(i=0;i<M;i++)//这里采取的是固定行数,改变列数的遍历方式
{
for(j=0;j<N;j++)
{
if(a[i][j]>max)
max=a[i][j];
}
}
return max;
}