【正确答案】正确答案: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;
【答案解析】解析:(1)该程序功能是找出矩阵中所有行最大的数中的最小一个。它的解题思路,首先找出每一行的最大值,然后在这些值中进行比较,找出其中的最小值。 (2)从已给部分源程序的main主函数开始入手,核心函数int fun(int n)中的n参数为矩阵中的列和行数。 解题思路 (1)两层循环,内层循环求每一行最大值,外层循环求最小值。 (2)求最大值,首先将最大值赋值为每行第一列的元素,然后依次循环比较。 (3)将求出的第一个最大值赋值为第一个最小值,然后将以后求得的最大值依次与之比较,求出所有值的最小值。