C语言编译,找出一个四行四列二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点
时间: 2023-11-06 09:17:00 浏览: 110
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int array[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
int i, j, max, min, saddle_point_found;
saddle_point_found = 0;
for (i = 0; i < 4; i++) {
max = array[i][0];
for (j = 0; j < 4; j++) {
if (array[i][j] > max) {
max = array[i][j];
}
}
for (j = 0; j < 4; j++) {
if (array[i][j] == max) {
min = array[0][j];
for (int k = 0; k < 4; k++) {
if (array[k][j] < min) {
min = array[k][j];
}
}
if (array[i][j] == min) {
printf("Saddle point found at (%d, %d)\n", i, j);
saddle_point_found = 1;
}
}
}
}
if (!saddle_point_found) {
printf("No saddle point found.\n");
}
return 0;
}
```
该程序会遍历数组中的每一个元素,然后判断该元素是否为该行中的最大值和该列中的最小值,如果是,则找到了一个鞍点。如果程序遍历完整个数组后仍然没有找到鞍点,则输出“No saddle point found.”。
阅读全文