编写C语言程序,找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小。可能没有鞍点
时间: 2023-11-06 12:30:23 浏览: 97
好的,以下是一个简单的 C 语言程序,用于查找二维数组中的鞍点:
```c
#include <stdio.h>
#define ROW 3
#define COLUMN 4
int main() {
int arr[ROW][COLUMN] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j, max, min, flag;
for (i = 0; i < ROW; i++) {
max = arr[i][0];
for (j = 1; j < COLUMN; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
}
}
for (j = 0; j < COLUMN; j++) {
min = arr[0][j];
flag = 1;
for (int k = 1; k < ROW; 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;
break;
}
}
if (!flag) {
break;
}
}
if (flag) {
printf("该二维数组中不存在鞍点!\n");
}
return 0;
}
```
这个程序中,我们假设数组的行数为 `ROW`,列数为 `COLUMN`,并定义一个二维数组 `arr` 用于存储具体数据。接下来我们使用两个循环分别遍历每一行和每一列,查找是否存在符合鞍点条件的元素。如果找到了鞍点,则输出该点的位置和值;如果遍历完整个数组仍未找到鞍点,则输出提示信息。
注意,这个程序中的二维数组是我们手动赋值的,你可以根据自己的需要进行修改。
阅读全文