编写程序,输出二维数组的鞍点,鞍点的元素值在该行上最大,在该列上最小,若没有鞍点输出“no“
2条回答 默认 最新
- qfl_sdu 2021-07-14 15:11关注
代码如下:
#include <stdio.h> #define M 20 #define N 20 int main() { int a[M][N],i,j,k; int row,col; int max,index; int flag =0; printf("请输入二维数组的行数和列数:"); scanf("%d %d",&row,&col); printf("请输入二维数组:"); for (i=0;i< row;i++) { for(j=0;j<col;j++) scanf("%d",&a[i][j]); } // for(i=0;i<row;i++) { //找行最大值 max = a[i][0]; for(j=1;j<col;j++) { if(a[i][j] > max) { max = a[i][j]; index = j; } } //判断在列上是否最小 flag = 0; for(k=0;k<row;k++) { if(a[k][index] < max) { flag = 1; break; } } if(flag == 1) printf("第%d行no\n",i+1); else printf("第%d行鞍点位于%d列,值=%d\n",i+1,index,max); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 6无用 1