问答题
使用Vc++6.0打开下的源程序文件2.cpp。完成fun函数,其功能是求出M行N列二维数组每行元素中的最小值,并计算它们的和,通过形参传回主函数并输出。
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include<iostream.h>
#define M 2
#define N 4
void fun(int a[M][N], int *sum)
{
}
void main()
{
int x[M][N]={7, 6, 5, 2, 4, 2, 8, 3);
int s;
fun(x, &s);
cout<<s<<endl;
return;
}
【正确答案】答案考生文件夹int i, j, k, s=0;
for(i=0; i<M; i++) //外循环
{
k=0;
for(j=1; j<N; j++)
if(a[1][k]>a[i][j])k=j; //求得每一行的最小值
s+=a[i][k]; //最小值求和
}
*sum=s; //返回求和值
【答案解析】[解析] 本题依次访问每一行的元素。在对每一行的访问过程中选出最小数。将选出的最小数求和。