#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int r,l,i=0,j,a[10][10],max,min,m,n,k,t;
printf("请输入矩阵的行数\n");
scanf("%d",&r);
printf("请输入矩阵的列数\n");
scanf("%d",&l);
for(i=0;i<r;i++)
{
for(j=0;j<l;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<r;i++)
{printf("\n");
for(j=0;j<l;j++)
{
printf("%4d",a[i][j]);
}
}
for(i=0;i<r;i++)/*找出最大值再判断最大值是不是鞍点*/
{ max=a[i][0];
for(j=1;j<l;j++)
{ n=i;
if(a[i][j]>max)
{
max=a[i][j];
m=j;
}
}
printf("\n");
printf("%d %d ",n,m);
min=a[n][m]; /*判断最大值是不是列的最小值*/
t=n;
for(k=0;k<r;k++)
{
if(a[k][m]<min)
{min=a[k][m];
t=k;}
}
printf("%d\n",t);
if(n==t)
{printf("%d是鞍点\n",a[n][m]);
}
else
printf("%d不是鞍点\n",a[n][m]) ;
}
}
C语言二维数组实现鞍点问题(附上代码)
最新推荐文章于 2023-11-10 23:24:21 发布