问题一百四十:鞍点
Description
找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
Input
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
Output
按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。
一个二维数组并不一定存在鞍点,此时请输出None
我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8
Sample Input
3 3
1 2 3
4 5 6
7 8 9
Sample Output
Array[0][2]=3
[plain] #include <stdio.h>
int main()
{
int i;
int j;
int l;
int x;
int y;
int k;
int n;
int m;
int flag;
int num[10][10];
while(scanf("%d %d", &n, &m)!=EOF)
{
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("%d", &num[i][j]);
}
}
flag=0;
x=0;
y=0;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(j==0)
{
k=num[i][j];
}
if(k<num[i][j])
{
k=num[i][j];
x=i;
y=j;
}
}
for(l=0; l<n; l++)
{
if(k<=num[l][y])
{
flag=1;
}
else
{
flag=0;
break;
}
}
if(flag)
{
printf("Array[%d][%d]=%d\n", x, y, k);
break;
}
}
if(flag==0)
{
printf("None\n");
}
}
return 0;
}
#include <stdio.h>
int main()
{
int i;
int j;
int l;
int x;
int y;
int k;
int n;
int m;
int flag;
int num[10][10];
while(scanf("%d %d", &n, &m)!=EOF)
{
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("
补充:软件开发 , C语言 ,