/*找一个二维数组的鞍点*/
#include<stdio.h>
int main(){
int i,j,max,maxj,k,flag;
int a[2][3]={1,2,3,4,5,6};//定义数组
for(i=0;i<2;i++){
max=a[i][0];//开始时,设a[i][0]最大
maxj=0;//将列号0赋给maxj保存
for(j=0;j<3;j++){//找出第i行最大数
if(a[i][j]>max){
max=a[i][j];//将本行的最大数存放在max中
maxj=j;//列好存入maxj
}
}
flag=1;//假设是鞍点,flag=1
for(k=0;k<2;k++){
if(max>a[k][maxj])//如果max不是同列最小,表示不是鞍点
{
flag=0;
continue;
}
}
if(flag==1){//如果是鞍点,输出
printf("%d %d =%d\n",i,maxj,max);
break;
}
}
if(flag==0){//不存在鞍点
printf("it is not exist");
}
return 0;
}
寻找二维数组的鞍点,行最大的和列最小的数。并输出行列号和值
最新推荐文章于 2024-07-17 12:36:38 发布