问答题 使用VC6打开 下的源程序文件modi2.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
【正确答案】
【答案解析】int i,j,k,s=0;
for(i=0;i<M;i++) //外循环
{
k=0;
for(;=1;;<N;j++)
if(a[1][k]>a[i][j])k=j;
//求得每一行的最小值
s+=a[i][k]; //最小值求和
*sum=s; //返回求和值
答案考生文件夹 [解析] (1)该程序功能是求二维数组每行元素中的最小值,并计算它们的和值。本题解题思路基本可以分为两重循环,外重循环为对二维数组的所有行进行循环,内重循环为对每一行内进行列循环,求出每一行中的最小值。最后求出这些最小值的和。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(im a[M][N],int*sum)中的a参数为二维数组,sum为要求得的和。
(1)依次访问每一行的元素。
(2)在对每一行的访问过程中选出最小数。
(3)将选出的最小数求和。