找出一个二维数组中的鞍点 即该位置

大家好,小编来为大家解答以上的问题 。找出一个二维数组中的鞍点 即该位置这个很多人还不知道,现在让我们一起来看看吧!

找出一个二维数组中的鞍点 即该位置

文章插图
1、说一下为什么没有鞍点的时候不会输出“没有鞍点”的信息,因为最外层的for()循环使用了i作为计数变量,而最后的一个for循环你又用i作为计数变量,这样的话,假设进入循环的时候i=1,那么下一次循环开始的时候i应当等于2才对,可你你在最后一个for()循环中使i从0增到了2,因此i在每次循环结束的售后都等于2,显然进入了死循环,解决的方法是另外增加一个计数变量k 用在最后一个for循环中 。
2、修改后的代码如下:#includeint main(){ int a[3][4],i,j,max,t,k,c; for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<3;i++) { max=a[i][0];t=0; for(j=0;j<4;j++) { if(a[i][j]>max) { max=a[i][j]; t=j; } } c=1; for(k=0;k<3;k++) { if(max>a[k][t]) { c=0;break; } } }if(c==0)printf("没有鞍点");if(c==1)printf("鞍点是%d",max);return 0;}另外还有个问题楼主应当注意,鞍点并不一定只有一个 。
【找出一个二维数组中的鞍点 即该位置】本文到此分享完毕,希望对大家有所帮助 。