C语言输入正整数 n(n≤6)和 n 阶方阵 A,在方阵 A 中找鞍点, 如果找到 A 的鞍点,输出它的下标位置,否则,输出 NO。鞍点就是元素值在行上最大、列 上最小的元素。假设 A 中最多 1 个鞍点
时间: 2023-12-14 22:38:52 浏览: 130
c 语言找鞍点-C语言实现矩阵鞍点查找算法及应用案例
以下是一个简单的 C 语言程序,可以实现你的需求:
```c
#include <stdio.h>
#define MAX_SIZE 6
int main() {
int n, A[MAX_SIZE][MAX_SIZE], i, j, row, col, max, min;
printf("请输入n:");
scanf("%d", &n);
printf("请输入%d阶方阵A:\n", n);
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &A[i][j]);
}
}
for (i = 0; i < n; i++) {
max = A[i][0];
col = 0;
for (j = 1; j < n; j++) {
if (A[i][j] > max) {
max = A[i][j];
col = j;
}
}
min = A[0][col];
row = 0;
for (j = 1; j < n; j++) {
if (A[j][col] < min) {
min = A[j][col];
row = j;
}
}
if (max == min) {
printf("鞍点位置为:%d行%d列,值为%d\n", row+1, col+1, max);
return 0;
}
}
printf("NO\n");
return 0;
}
```
程序首先让用户输入 n 和 n 阶方阵 A,然后遍历每一行,找到该行中的最大值和其所在的列号,再在该列中找到最小值和其所在的行号,如果最大值等于最小值,则找到了鞍点并输出其位置。如果遍历完所有行都没有找到鞍点,则输出 NO。
阅读全文