以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。请填空。(设M、N已定义)
int fun(int a[N][M])
int i, j, row=0, col=0;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>a[row][col])row=i;col=j;
return______;
参考答案:a[row][col]
解析: 本题和第10题算法类似,只不过本题是求二维数组中元素的最大值,所以在比较的过程中,需要用两重循环的嵌套。程序中按行的方向依次取出二维数组元素a[i][j]和a[row][col]进行比较,若a[i][j]比a[row][col]大,则将行下标i的值赋给row,列下标j的值赋给col,即用row存放最大值的行下标,用col存放最大值的列下标。所以最后返回最大值为a[row][col]。