int array[5][5] = {{1, 9, 5, 8, 6}, {1, 5, 3, 5, 1}, {11, 6, 4, 6, 13}, {8, 7, 2, 7, 9}, {7, 6, 10, 9, 3}};// 测试两个鞍点
// int array[5][5] = {{6, 7, 9, 7, 8}, {7, 8, 6, 3, 9}, {5, 3, 5, 2, 5}, {7, 1, 7, 9, 6}, {5, 3, 5, 8, 6}};// 测试三个鞍点
for (int i = 0; i < 5; i ++) {
for (int j = 0; j < 5; j ++) {
printf("%3d\t", array[i][j]);
}
printf("\n");
}
int max = 0, min = 101;
for (int i = 0; i < 5; i ++) {
for (int j = 0; j < 5; j ++) {
if (max < array[i][j]) {
max = array[i][j];
}
}
for (int j = 0; j < 5; j ++) {
if (array[i][j] == max) {
for (int n = 0; n < 5; n ++) {
for (int m = 0; m < 5; m ++) {
if (min > array[m][n]) {
min = array[m][n];
}
}
if (max == min && j == n) {
printf("%d 行%d 列为鞍点, 其值为%d\n", i, j, max);
}
min = 101;
}
}
}
max = 0;
}