任务描述

题目描述:找出具有mn列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10

相关知识(略)

编程要求

输入

输入数据有多行,第一行有两个数mn,下面有m行,每行有n个数。

输出

按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,ij为鞍点所在的数组行和列下标,我们规定数组下标从0开始。
一个二维数组并不一定存在鞍点,此时请输出None
我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

样例输入:

3 3
1 2 3
4 5 6
7 8 9

样例输出:

Array[0][2]=3

下面上代码

#includeint main(){int m,n;//m行n列的矩阵 int Array[10][10];//定义一个矩阵 int i,j,b=0,c=0;scanf("%d %d",&m,&n);//输入行和列数 for(i=0;i<m;i++)//输入矩阵 {for(j=0;j<n;j++){scanf("%d",&Array[i][j]);}}int max=0;//用于比较每行最大的值 int min=0;//用于比较每行中最小的值 for(i=0;i<m;i++){max=Array[i][0];for(j=0;jmax) { max=Array[i][j]; b=j;//将最大值的列数赋值给b}}min=Array[0][b];for(int k=0;k<m;k++)//找出每行最小值 {if(Array[k][b]<min){min=Array[k][b];c=k;//将最小的行数赋值给c }}if(min==max)//判断该点是否为鞍点 {printf("Array[%d][%d]=%d",c,b,Array[c][b]);break;//if ture,输出鞍点 }}if(min!=max)//根据题目要求,没有鞍点输出None {printf("None");}return 0;}

输入

3 3

1 4 3

4 5 6

7 8 9

输出样例:

有天赋的人不一定成功,但努力的人一定会成功。2023加油!