找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。写出一个c语言代码
时间: 2023-06-16 13:04:03 浏览: 136
以下是一个简单的C语言代码,用于查找二维数组中的鞍点。如果存在鞍点,则打印其位置,否则打印相应的消息。
```c
#include <stdio.h>
int main()
{
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, max, min, flag;
for (i = 0; i < 3; i++)
{
max = arr[i][0];
for (j = 1; j < 3; j++)
{
if (arr[i][j] > max)
{
max = arr[i][j];
}
}
for (j = 0; j < 3; j++)
{
min = arr[0][j];
flag = 1;
for (int k = 1; k < 3; k++)
{
if (arr[k][j] < min)
{
min = arr[k][j];
}
}
if (min == arr[i][j] && max == arr[i][j])
{
printf("鞍点位置为[%d][%d],值为%d\n", i, j, arr[i][j]);
flag = 0;
}
}
}
if (flag == 1)
{
printf("该二维数组不存在鞍点\n");
}
return 0;
}
```
在这个例子中,我们定义了一个3x3的二维数组并初始化它。然后,我们使用两个嵌套的循环来遍历每个元素,并检查它是否为鞍点。如果我们找到了一个鞍点,我们将打印其位置和值。如果没有鞍点,则打印相应的消息。
阅读全文