产生一个M行N列的整型数组(数据是100以内的随机整数,M、N的整型数组(数据是100以内的随机整数,M、N最大为10),求出这个数组的“鞍点”。鞍点是指这个元素在所处的行上最大,列上最小。请输出这个鞍点的位置(行列号)及鞍点的值。如果没有鞍点,输出不存在的的信息。
1条回答 默认 最新
qzjhjxj 2021-12-05 11:28关注供参考:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define M 10 #define N 10 int main() { char a[M][N]={{2,2,6,3},{2,4,5,3},{5,1,7,2}}; int i,j,k,m=0,n=0,max=0,min=0,flg=0; srand((unsigned int)time(NULL)); for (i = 0; i < 3; i++) { for (j = 0; j < 4; j++) { a[i][j] = rand()%100; printf("%-4d",a[i][j]); } printf("\n"); } for(i=0;i<3;i++) { max = a[i][0]; for(j=0;j<4;j++) { if(a[i][j]>max) { n = j; max=a[i][j]; } } min = a[0][n]; for(k=0;k<3;k++) { if(a[k][n]<min) { m = k; min=a[k][n]; } } if(max==min) { printf("鞍点是%d,所在行为%d,所在列为%d\n",a[m][n],m,n); flg = 1; } } if(!flg) printf("无鞍点\n"); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用