能不能用尽量易懂的代码,答案看不明白

img

img


能不能用尽量易懂的代码,答案看不明白,不知道答案用的语句是啥意思

供参考:

#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;
}