c语言编写程序输入一个二维数组,找出它的鞍点
时间: 2023-08-25 10:09:17 浏览: 119
c语言寻找二维数组中的鞍点
鞍点指的是在一个矩阵中,某个元素在所在行中最大,在所在列中最小。下面是一个示例程序,可以找出一个二维数组的鞍点:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
int main()
{
int matrix[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, k, max_row, min_col;
// 找出每行的最大值
for (i = 0; i < ROWS; i++) {
max_row = matrix[i][0];
for (j = 1; j < COLS; j++) {
if (matrix[i][j] > max_row) {
max_row = matrix[i][j];
}
}
// 找出最大值所在的列
for (k = 0; k < COLS; k++) {
if (matrix[i][k] == max_row) {
// 判断该元素是否为所在列的最小值
min_col = matrix[0][k];
for (j = 1; j < ROWS; j++) {
if (matrix[j][k] < min_col) {
min_col = matrix[j][k];
}
}
// 如果该元素也是所在列的最小值,就是鞍点
if (max_row == min_col) {
printf("鞍点是 (%d, %d)\n", i, k);
}
}
}
}
return 0;
}
```
这个程序中,我们首先找出每行的最大值,并且遍历该元素所在的列,找到该列中的最小值。如果这两个值相等,就说明该元素是鞍点。
阅读全文