3楼的代码可以,但是题目相等的情况下不知道算不算,然后改动了一下代码,存在多个极值相等的时候也可以把所有鞍点输出
~
程序代码:
#include <STDIO.H>
#define row 3
#define col 3
int main()
{
int i,j;
int rowmax[row],colmin[col],max,min;
int a[row][col];
int cannotfind=1;
for (i=0;i<=row-1;i++)
for (j=0;j<=col-1;j++)
scanf("%d",&a[i][j]);
printf("你输入的矩阵为:\n");
for (i=0;i<=row-1;i++)
{
for (j=0;j<=col-1;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for (i=0;i<=row-1;i++)
{
rowmax[i]=a[0][i];
for (j=1;j<=col-1;j++)
if (a[j][i]>rowmax[i])
rowmax[i]=a[j][i];
}
for (i=0;i<=col-1;i++)
{
colmin[i]=a[i][0];
for (j=1;j<=row-1;j++)
if (a[i][j]<colmin[i])
colmin[i]=a[i][j];
}
for (i=0;i<=row-1;i++)
for (j=0;j<=col-1;j++)
if (a[i][j]==rowmax[j]&&a[i][j]==colmin[i])
{
printf("鞍点为a[%d][%d]\n",i,j);
cannotfind=0;
}
if (cannotfind==1)
printf("无鞍点\n");
return 0;
}