找出二维数组中的鞍点 即该位置上的元素在该行上最大 在该列上最小。若找到鞍点 则输出鞍点的值及

大学 最小,元素,位置 已帮助 人

找出二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。若找到鞍点,则输出鞍点的值及其所在的行号和列号,否则输出“没有找到鞍点”。

请帮忙给出正确答案和分析,谢谢!

热搜:fun函数的功能是求3行4列二维数组每行元素中的最大值

答案解析

难度★★☆ 搜索
  • 正确答案:#include“stdio.h” #define M 4 #define N 5 main() {int a[M][N]ijmaxmaxjfind=0; for(i=0;i<M;i++) for(j=0;j<N;j++) scanf(“%d”&a[i][j]); for(i=0;!find&&i<M;i++) {max=a[i][0];maxj=0; for(j=0;j<N;j++) if(a[i][j]>max) {max=a[i][j]; maxj=j; } find=1; for(j=0;find&&j<M;j++) if(max>a(j][maxj])find=0; if(find) printf(“find a[%d][%d]=%d”imax]max); ) if(!find)printf(“not find”); )
    #include“stdio.h”#defineM4#defineN5main(){inta[M][N],i,j,max,maxj,find=0;for(i=0;i<M;i++)for(j=0;j<N;j++)scanf(“%d”,&a[i][j]);for(i=0;!find&&i<M;i++){max=a[i][0];maxj=0;for(j=0;j<N;j++)if(a[i][j]>max){max=a[i][j];maxj=j;}find=1;for(j=0;find&&j<M;j++)if(max>a(j][maxj])find=0;if(find)printf(“finda[%d][%d]=%d”,i,max],max);)if(!find)printf(“notfind”);)