查找数组中鞍点的问题
此为“找出一个二维数组中鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。”的一道题下面程序遇到行和列中最值重复出现时不能输出正确结果,请问应该怎么完善?
#include<stdio.h>
int main()
{
int a[3][3]={{1,2,3},{2,1,5},{3,6,4}},i,j,k,t,x,sum=0;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
printf("%-3d",a[i][j]);
printf("\n");
}
for(i=0;i<=2;i++)
{
k=0;
for(j=0;j<=2;j++)
{
if(a[i][j]>a[i][k])
k=j;
}
t=0;
for(x=0;x<=2;x++)
{
if(a[t][k]>a[x][k])
t=x;
}
if(i==t)
{
printf("%d %d\n",t,k);
sum=sum+1;
}
}
if(sum==0)
printf("无鞍点\n");
return 0;
}