用C语言写输入一个3*4的矩阵,输出其鞍点。判断鞍点的条件:鞍点位置上的元素在所在行最大。所在列最小。矩阵也可能没有鞍点。
时间: 2024-05-05 15:18:25 浏览: 107
以下是 C 语言代码实现:
```
#include <stdio.h>
int main() {
int matrix[3][4];
int i, j;
int row_max_idx, col_min_idx;
int saddle_exists = 0;
printf("请输入3*4的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &matrix[i][j]);
}
}
for (i = 0; i < 3; i++) {
row_max_idx = 0;
for (j = 1; j < 4; j++) {
if (matrix[i][j] > matrix[i][row_max_idx]) {
row_max_idx = j;
}
}
col_min_idx = 0;
for (j = 1; j < 3; j++) {
if (matrix[j][row_max_idx] < matrix[col_min_idx][row_max_idx]) {
col_min_idx = j;
}
}
if (col_min_idx == i) {
saddle_exists = 1;
printf("鞍点的位置是(%d, %d),它的值是%d\n", i+1, row_max_idx+1, matrix[i][row_max_idx]);
}
}
if (!saddle_exists) {
printf("矩阵没有鞍点\n");
}
return 0;
}
```
运行结果示例:
```
请输入3*4的矩阵:
1 2 3 4
8 7 6 5
3 2 1 0
鞍点的位置是(2, 4),它的值是5
```
阅读全文