用C语言实现求一个二维数组中的鞍点
时间: 2023-12-16 13:28:33 浏览: 94
以下是用C语言实现求一个二维数组中的鞍点的代码示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void findSaddlePoint(int matrix[ROWS][COLS]) {
int i, j, max, min, row, col;
int isSaddlePoint = 0;
for (i = 0; i < ROWS; i++) {
max = matrix[i][0];
col = 0;
// 找到当前行的最大值及其所在列
for (j = 1; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
col = j;
}
}
min = matrix[0][col];
row = 0;
// 检查最大值所在列的其他元素,找到最小值及其所在行
for (j = 1; j < ROWS; j++) {
if (matrix[j][col] < min) {
min = matrix[j][col];
row = j;
}
}
// 判断是否为鞍点
if (max == min) {
printf("鞍点的值为:%d\n", max);
printf("鞍点的位置为:第%d行,第%d列\n", row + 1, col + 1);
isSaddlePoint = 1;
break;
}
}
if (!isSaddlePoint) {
printf("该二维数组中没有鞍点。\n");
}
}
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
findSaddlePoint(matrix);
return 0;
}
```
阅读全文