问题 问答题

请编写一个函数fun(),它的功能是:求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仪在函数fun的花括号中填入所编写的若干语句。 试题程序: #define M 4 #include <stdio.h> fun (int a[])[M]) { } main() { int arr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7);printf("min=%d\n",fun(arr)); }

答案

参考答案:

解析:fun(int a[][M]) {   int i,j,min=a[0][0];  for(i=0;i<4;i++) for(j=0;j<M;j++) if(min>a[i][j]) min=a[i][j]; /*求出二维数组的最小值*/ return min; } 此类求最大值或最小值的C语言问题,我们可以采用逐个比较的方式。要求数组中的所有元素走动一遍,并从中找出最大、最小值,要注意一开始应使min存放数组中的第—个元素的值。可按逐行查找也可按逐列查找的方式,本题采用的是逐行找的方式。即行下标在外层循环,列下标在内层循环,因为在循环的嵌套中越在内层循环,循环变化就越快。

单项选择题 A1型题
单项选择题 A3/A4型题