#include<stdio.h>
#include<stdlib.h>
//寻找鞍点(同时为行最大值,列最小值)
void main(){
short a[][3]={{2,4,5}
,{1,4,8},
{4,5,6}} ;
short max,x,y,flag;
for(int i=0;i<3;i++)
{
for(int j=1;j<3;j++)
{
max=a[i][0];
if(max<a[i][j]) //找到行最大值
{
max=a[i][j];
x=i; //x,y标记位置
y=j;
}
}
flag=1;
for(int w=0;w<3;w++) //判断是否为列最小值
if(max>a[w][y])
{
flag=0;
break;
}
if(flag)
printf("找到鞍点:%d 位置在a[%d][%d] \n",max,x,y);
}
system("pause");
}
代码优化: