c语言写出鞍点为该行最小该列最大
时间: 2023-06-14 14:03:00 浏览: 83
可以通过遍历矩阵的每一行和每一列,找出该行最小值和该列最大值,判断是否存在一个元素既是该行最小值又是该列最大值,如果存在,则该元素为鞍点。
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, k, min, max, saddle_point_exist = 0;
printf("Original matrix:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
for (i = 0; i < 3; i++) {
min = matrix[i][0];
for (j = 0; j < 3; j++) {
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
for (j = 0; j < 3; j++) {
if (matrix[i][j] == min) {
max = matrix[0][j];
for (k = 0; k < 3; k++) {
if (matrix[k][j] > max) {
max = matrix[k][j];
}
}
if (matrix[i][j] == max) {
printf("Saddle point exists at (%d, %d) with value %d\n", i, j, matrix[i][j]);
saddle_point_exist = 1;
}
}
}
}
if (!saddle_point_exist) {
printf("No saddle point exists.\n");
}
return 0;
}
```
运行结果如下:
```
Original matrix:
1 2 3
4 5 6
7 8 9
Saddle point exists at (1, 0) with value 4
No saddle point exists.
```
阅读全文