C语言找出一个4x4二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小(不会出现重复数字的情况)。可能没有鞍点
时间: 2023-11-06 16:07:15 浏览: 43
以下是一个找出4x4二维数组中鞍点的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int i, j, max, min, flag;
for (i = 0; i < 4; i++) {
max = arr[i][0];
flag = 1;
for (j = 1; j < 4; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
flag = j + 1;
}
}
min = arr[0][flag - 1];
for (j = 1; j < 4; j++) {
if (arr[j][flag - 1] < min) {
min = arr[j][flag - 1];
}
}
if (max == min) {
printf("The saddle point is (%d, %d)\n", i + 1, flag);
}
}
return 0;
}
```
在这个代码中,我们使用两个嵌套的循环遍历整个二维数组。对于每一行,我们找到最大值以及它的位置。然后,我们遍历整个列,找到最小值。如果这个最小值恰好等于最大值,那么这个位置就是鞍点。