供参考:
#include <stdio.h>
#define M 10
#define N 10
int main()
{
int a[M][N];
int i, j, k, m, n, mm = 0, nn = 0, max = 0, min = 0, flg = 0;
scanf("%d%d", &m, &n); //输入 m n
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%d", &a[i][j]);//输入 m 行 n 列 数组元素
for (i = 0; i < m; i++)
{
max = a[i][0];
for (j = 0; j < n; j++)//找出每行的最大值
{
if (a[i][j] > max)
{
nn = j; //列
max = a[i][j];
}
}
min = a[0][nn];
for (k = 0; k < m; k++) //找出每列的最小值
{
if (a[k][nn] < min)
{
mm = k; //行
min = a[k][nn];
}
}
if (max == min) //如果行最大值 与 列最小值是同一个数,找到鞍点
{
printf("Array[%d][%d]=%d\n", mm, nn, a[mm][nn]);
flg = 1;
break;
}
}
if (!flg)
printf("None\n");
return 0;
}