使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int n)的功能是在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个,并作为参数返回。
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include<iostream.h>
#define N 100
int a[N][N];
int fun(int n)
void main()
int n;
cout<<"please input N:"<<end1;
cin>>n;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cout<<"please input a Number:"<<end1;
cin>>a[i][j];
cout<<"The min of max numbers is"<<fun(n)<<end1;
参考答案:int row;
int max;
int min;
int col;
for(row=0;row(n;row++) //外循环求行最大值中的最小值
{
for(max=a[row][0],col=1;col<n;col++)//求每一行中的最大值
if(max(a[row][col])
max=a[row][col];
if(row==0) //求最小值
min=max;
else
if(max(min)
min=max;
}
return min;
解析: 本题有两层循环,内层循环求每一行的最大值,外层循环求最小值。求最大值,首先将最大值赋值为每行第一列的元素,然后依次循环比较。将求出的第一个最大值赋值为第一个最小值,然后将以后求得的最大值依次与之比较,求出所有值的最小值。