C语言写一个函数,找出一个二维数组中的鞍点(即该位置上的元素在该行上最大、在该列上最小),如果有鞍点,返回鞍点值,没有返回0。
时间: 2023-11-06 21:03:29 浏览: 83
数组经典例题求鞍点.txt
5星 · 资源好评率100%
下面是一个示例代码实现:
```c
int findSaddlePoint(int arr[][COL], int row, int col) {
int i, j, k;
int min, max, flag;
for (i = 0; i < row; i++) {
min = arr[i][0];
flag = 0;
for (j = 1; j < col; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
k = j;
}
}
max = min;
for (j = 0; j < row; j++) {
if (arr[j][k] > max) {
max = arr[j][k];
flag = 1;
}
}
if (max == min && flag == 1) {
return max;
}
}
return 0;
}
```
这个函数的参数包括一个二维数组、数组的行数和列数。函数使用两个嵌套的循环遍历数组中的每个元素。对于每一行,它找到该行中的最小值和该最小值的索引。然后,它找到该列中的最大值,并将一个标志设置为指示是否找到了一个鞍点。如果找到了鞍点,则返回该值。如果没有找到鞍点,则返回0。
阅读全文