#include <stdio.h>
#define ROWS 3
#define COLS 3
int findSaddlePoint(int matrix[ROWS][COLS]) {
int i, j, minValue, maxValue, row, col;
int isSaddlePoint = 0;
for (i = 0; i < ROWS; i++) {
minValue = matrix[i][0];
col = 0;
//
找
出
当
前
⾏
的
最
⼩
值
及
其
所
在
列
for (j = 1; j < COLS; j++) {
if (matrix[i][j] < minValue) {
minValue = matrix[i][j];
col = j;
}
}
maxValue = matrix[0][col];
row = 0;
//
判
断
当
前
⾏
的
最
⼩
值
是
否
为
所
在
列
的
最
⼤
值
for (j = 1; j < ROWS; j++) {
if (matrix[j][col] > maxValue) {
maxValue = matrix[j][col];
row = j;
}
}
//
判
断
是
否
存
在
鞍
点
if (minValue == maxValue) {
printf("
鞍
点
存
在
于
第
%d
⾏
第
%d
列
,
值
为
%d", row + 1, col + 1,
minValue);
isSaddlePoint = 1;
}
}
return isSaddlePoint;
}
int main() {
int matrix[ROWS][COLS] = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
if (!findSaddlePoint(matrix)) {