国二:
请编写一个函数fun(),它的功能是:求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。
注意:部分原程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
分析:
1.要想求出二维矩阵中的最小值,需要知道二维矩阵的构成a[i][j]
2.需要设min值存放最小值,不能简单的min=0来赋初值,min中存的初值必须是数组中的某一值,一般存放数组中的第一个值a[0][0]
代码可写成:
/*
请编写一个函数fun(),它的功能是:求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。
注意:部分原程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
*/
#include <stdio.h>
#define M 4
int fun(int a[][M])
{
int i,j;
int min=a[0][0];
for(i=0;i<4;i++)
{
for(j=0;j<M;j++) // 这里最好写成M,这个是宏定义是可变的
{
if(min>a[i][j])
{
min=a[i][j];
}
}
}
return min;
}
void 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));
}
结果为:
大家要注意程序的0缺陷。