C语言 计算二维数组的鞍点,鞍点的元素值在该行最大,在该列上最小,若没有鞍点输出“NO”

#include
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”_第1张图片

你可能感兴趣的:(#,数组,c语言)