#include<stdio.h>
int main( )
{
int m,n,i,j,a[10][10],max,min;
scanf("%d*%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
max=0;
min=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(a[max][j]<a[i][j])
max=i;
if(a[i][min]>a[i][j])
min=j;
}
}
if((a[max][j]=a[i][j])&&(a[i][min]=a[i][j]))
printf("Array[%d][%d]=%d\n",i,j,a[min][max]);
else
printf("None\n");
return 0;
}
原题
查找二维数组的鞍点
找出具有m行n列二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。同一行和同一列没有相同的数。要求:
1)输入m和n,输入格式m*n;
2)输入m行每行n个整数。
3)查找鞍点。
4)如果找到鞍点,则输出该元素所在行、列和值,均采用“%d”格式输出。
5)如果找不到鞍点,则输出None。
我输入一个3*4的数组
1 2 9 4 5 4 7 2 6 3 8 5
输出结果是array【3】【4】=7