#include<stdio.h>
void main(){
int a[3][3],max,min,i,j,k,m;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);//输入数组
}
for(i=0;i<3;i++){
max=a[i][0];//给max 赋初始值
for(j=0;j<3;j++){
if(a[i][j]>max){
max=a[i][j];
k=j;//找到第i行的最大值;
}
}
printf("鞍点:%d\n",max);
min=max;//把max的值作为第k列的最小值
for(m=0;m<3;m++){//第k列保持不变,变换行数m
if(min>a[m][k])//若不符合鞍点性质,则break结束
break;
}
if(m==3){
printf("位置:第%d行,第%d列",i+1,k+1);//遍历完当前列,若当前值符合鞍点性质,
break; //则输出鞍 点坐标
}
}
if(i==3){
printf("NO");//整个数组遍历完成,未找到鞍点
}
}
C语言 计算二维数组的鞍点,鞍点的元素值在该行最大,在该列上最小,若没有鞍点输出“NO”
于 2021-06-04 19:05:03 首次发布