使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成fun()函数,其功能是:求出M行N列二维数组每行元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。 注意:不能修改程序的其他部分,只能修改fun()函数。 1 #incl

admin2018-10-23  29

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成fun()函数,其功能是:求出M行N列二维数组每行元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。
    注意:不能修改程序的其他部分,只能修改fun()函数。
1  #include<iostream.h>
2  #define M 2
3  #define N 4
4  void fun(int a[M][N],int *sum)
5  {
6
7  }
8  void main()
9  {
10    int x[M][N]={7,6,5,2,4,2,8,3};
11    int s;
12    fun(x,&s);
13    cout<<s<<end1;
14    return;
15  }

选项

答案1 int i,j,k,s=0; 2 for(i=0;i<M;i++) //外循环 3 { 4 k=0; 5 for(j=1;j<N;j++) 6 if(a[1][k]>a[i][j])k=j;//求得每一行的最小值 7 s+=a[i][k]; //最小值求和 8 } 9 *sum=s; //返回求和值

解析 (1)该程序功能是求二维数组每行元素中的最小值,并计算它们的和值。本题解题思路基本可以分为两重循环,外重循环为对二维数组的所有行进行循环,内重循环为对每一行内进行列循环,求出每一行中的最小值。最后求出这些最小值的和。
    (2)从已给部分源程序的main主函数开始入手,核心函数void fun(int a[M][N],int*sum)中的a参数为二维数组,sum为要求得的和。
    (3)依次访问每一行的元素。
    (4)在对每一行的访问过程中选出最小数。
    (5)将选出的最小数求和。
转载请注明原文地址:https://kaotiyun.com/show/r5Ap777K
0

最新回复(0)