2024-10-14 08:00:42
真没找到
我把你的代码改了一下,有注释,你看看能不能理解。
#include<stdio.h>
int main()
{
int n1,n2,a[10][10],i1,i2,i3,max,j1=0,j2=0;
int flag; //定义变量记录是否存在鞍点
scanf("%d %d",&n1,&n2);
for(i1=0; i1<n1; i1++)
for(i2=0; i2<n2; i2++)
scanf("%d",&a[i1][i2]);
for(i1=0; i1<n1; i1++)
{
max=a[i1][0];
j1=i1; //每一次假设最大值在每行首位置
j2=0;
flag=1;
for(i2=1; i2<n2; i2++)
{
if (a[i1][i2]>max)
{
max=a[i1][i2];
j1=i1;
j2=i2;
}
}
for(i3=0; i3<n1; i3++)
{
if(a[i3][j2]<max)
{
flag=0; //该行不存在鞍点
break;
}
}
if(flag) //鞍点值最多一个
break;
}
if(flag)
printf("%d %d\n%d\n",j1,j2,max);
else //没有
printf("no\m");
return 0;
}
2024-10-14 08:01:02