用C语言找出一个4x4二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小(不会出现重复数字的情况)。可能没有鞍点。
时间: 2023-06-13 16:04:43 浏览: 48
下面是一个示例代码,其中数组a是一个4x4的二维数组:
```c
#include <stdio.h>
int main() {
int a[4][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int i, j, k, max, min, flag = 0;
for (i = 0; i < 4; i++) {
max = a[i][0];
for (j = 1; j < 4; j++) {
if (a[i][j] > max) {
max = a[i][j];
}
}
for (j = 0; j < 4; j++) {
if (a[i][j] == max) {
min = a[0][j];
for (k = 1; k < 4; k++) {
if (a[k][j] < min) {
min = a[k][j];
}
}
if (a[i][j] == min) {
printf("鞍点为(%d, %d),元素为%d\n", i, j, a[i][j]);
flag = 1;
}
}
}
}
if (!flag) {
printf("没有鞍点\n");
}
return 0;
}
```
程序先遍历每一行,找到该行的最大值max,然后再遍历该行的每一个元素,如果该元素等于max,则在该元素所在的列中找到最小值min,如果该元素等于min,则找到了一个鞍点,输出其坐标和元素值。如果遍历完整个数组没有找到鞍点,则输出“没有鞍点”。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)