用c语言找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
时间: 2023-11-06 13:16:42 浏览: 113
好的,以下是用 C 语言编写的程序,它会找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小。如果没有鞍点,则输出提示信息。
```c
#include <stdio.h>
#define ROW 3
#define COL 4
int main() {
int arr[ROW][COL] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j, k, max, min, flag = 0;
// 找出鞍点
for (i = 0; i < ROW; i++) {
max = arr[i][0];
for (j = 1; j < COL; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
}
}
for (j = 0; j < COL; j++) {
if (arr[i][j] == max) {
min = arr[0][j];
for (k = 1; k < ROW; k++) {
if (arr[k][j] < min) {
min = arr[k][j];
}
}
if (arr[i][j] == min) {
printf("鞍点为: (%d, %d),值为 %d\n", i, j, arr[i][j]);
flag = 1;
}
}
}
}
// 如果没有鞍点
if (flag == 0) {
printf("没有鞍点\n");
}
return 0;
}
```
这个程序会先定义一个3x4的二维数组,并找出该数组的鞍点。如果有鞍点,则输出鞍点的位置和值;如果没有鞍点,则输出提示信息。输出结果如下:
```
鞍点为: (1, 0),值为 5
```
希望这个程序符合您的要求。如果您有其他问题或需求,请随时告诉我。
阅读全文
相关推荐


















