使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int n)的功能是在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个,并作为参数返回。 注意:不能修改程序的其他部

admin2019-05-29  20

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int n)的功能是在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个,并作为参数返回。
    注意:不能修改程序的其他部分,只能修改fun()函数。
1  #include<iostream.h>
2  #define N 100
3   int a[N][N];
4  int fun(int n)
5  {
6
7  }
8  void main()
9  {
10  int n;
11    cout<<’’please input N:’’<<end1;
12    cin>>n;
13    for(int i=0;i<n;i++)
14    for(int j=0;j<n;j++)
15    {
16    cout<<’’please input a Number:’’<<end1;
17  cin>>a[j];
18    }
19    cout<<’’The min of max numbers is’’<<fun(n)<<end1;
20  }

选项

答案1 int row; 2 int max; 3 int min; 4 int col; 5 for(row=0; row<n;row++) //外循环求行最大值中的最小值 6 { 7for(max=a[row][0],co1=1;co1<n;col++) //求每一行中的最大值 8 if(max<a[row[[co1]) 9 max=a[row][co1]; 10 if(row==0) //求最小值 11 min=max; 12 else 13 if(max<min) 14 min=max; 15 } 16 return min;

解析 (1)该程序功能是找出矩阵中所有行最大的数中的最小一个。它的解题思路,首先找出每一行的最大值,然后在这些值中进行比较,找出其中的最小值。
    (2)从已给部分源程序的main主函数开始入手,核心函数int fun(int n)中的n参数为矩阵中的列和行数。
    (3)两层循环,内层循环求每一行最大值,外层循环求最小值。
    (4)求最大值,首先将最大值赋值为每行第一列的元素,然后依次循环比较。
    (5)将求出的第一个最大值赋值为第一个最小值,然后将以后求得的最大值依次与之比较,求出所有值的最小值。
转载请注明原文地址:https://jikaoti.com/ti/X5A0FFFM
0

最新回复(0)