王志昊的个人站

欢迎各位dalao

c语言找出二维数组中的鞍点

#include<stdio.h>
int main()
{
int a[5][3],i,j,x,y,k,max,min;//x,y分别是用来记录鞍点的位置的,max,min是用于寻找最大最小值的。
for(i=0;i<5;i++)
{
printf(“请输入第%d行的3个数(用空格隔开):”,i+1);
for(j=0;j<3;j++)
{
scanf(“%d”,&a[i][j]);
}
}//输入
for(i=0;i<5;i++)
{
max=a[i][0];y=0; //先默认第一个数是最大值
for(k=1;k<3;k++)
if(max<a[i][k])
{y=k;max=a[i][k];} //寻找到比当前值还要大的,就用y记录它的位置
min=a[i][y];x=i; //先默认第一个数是最小值
for(k=0;k<5;k++)
if(min>a[k][y])
{x=k;min=a[k][y];} //找到一个比当前值要小的,用x记录它的位置
if(i==x) //如果找到的这个最小值就在当前这一行,就说明找到了鞍点
printf(“a[%d][%d]=%d 是鞍点\n”,x,y,a[x][y]);
}

}

点赞