任务描述
题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
编程要求
输入
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
输出
按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,
i和j为鞍点所在的数组行和列下标,我们规定数组下标从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
代码如下
#include <stdio.h>
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int a[100][100];
int row, col;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < m; i++)
{
col = 0;
for (int j = 0; j < n; j++)
{
if (a[i][j] > a[i][col])
{
col = j;
}
}
row = i;
int min = 1;
for (int i = 0; i < m; i++)
{
if (a[row][col] > a[i][col])
{
min = 0;
break;
}
}
if (min == 1)
{
printf("Array[%d][%d]=%d", row, col, a[row][col]);
break;
}
}
return 0;
}