问答题 1.  请编写函数fun(),其功能是:找出2M整型二维数组中最大元素的值,并将此值返回调用函数。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
    试题程序:
    #define M 4
    #include<stdio.h>
    int fun(int a[][M])
    {
    }
    void main()
    {
    int arr[2][M]={5,8,3,45,76,-4,12,2};
    printf("max=%d\n",fun(arr));
    }
【正确答案】int fun(int a[][M])
   {
   int i,j,max=a[0][0];
   //对二维数组进行遍历
   for(i=0; i<2; i++)
   for(j=0; j<M; j++)
   if(max<a[i][j])
   //将最大值保存在max中
   max=a[i][j];
   return max;
   }
【答案解析】 此题考查的是数组的查找算法。使用for循环嵌套完成对二维数组的遍历。题目要求出最大值,则应采用将所有元素遍历一遍,逐个比较的方式完成。定义变量max,将第一个元素赋值max,然后通过for循环将元素逐个与max比较,遇到比max大的则赋值max,替换原有数据,当嵌套的for循环结束后,max即二维数组中的最大值。