题目9:找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列中最小(也有可能没有鞍点)
源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,i,j;
scanf("%d%d",&m,&n);
int a[m][n],p,f=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i][f]<a[i][j])
f=j;
}
for(p=0;p<m;p++)
{if(a[i][f]>a[p][f]) break;}
if(p==m)
printf("%d是鞍点\n",a[i][f]);
}
return 0;
}
运行结果: