请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序: #def

admin2017-09-23  75

问题 请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
    注意:部分源程序给出如下。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
#define M 4
#include < stdio.h >
int fun(int a[][M])
{
}
void main()
{
  int arr[2][M]={5,8,3,45,
7 6,一4,12,82};
  printf("max=%d\n",fun (arr));
}

选项

答案int fun (int a[][M]) { int i,j,max =a[0l[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循环嵌套。使用for循环语句时需注意循环变量的取值范围。
此类求最大值或最小值的问题,可以采用逐个比较的方式,对数组中所有元素遍历一遍,从中找出数组最大值或最小值。首先定义变量max用来存放数组的第一个元素的值,然后利用for循环逐个找出数组中的元素,并与max比较,如果元素值大于max,则将该值赋予max,循环结束后max的值即为数组最大值,最后将该值返回。
该类题目考查较多,需要掌握逐个比较的方法。
对于m*n=维数组,如果采用逐个查找方法,代码实现如下:
for(i=0;i < m;i++)
for(j=0;j < n;j++)
转载请注明原文地址:https://jikaoti.com/ti/fTa0FFFM
0

最新回复(0)