生成C语言设有一个3行5列的二维数组,编写程序从键盘输入数据,建立这个二维数组,并找出二维数组中的鞍点。鞍点是指在行上是最大但是所在列最小的元素(这样的元素可能不存在)。输出所在行下标,所在列小标(下标从0开始)及相应的值。如果不存在则输出 no
时间: 2023-06-19 14:06:36 浏览: 99
以下是符合要求的C语言程序代码实现:
```c
#include <stdio.h>
int main() {
int a[3][5];
int i, j, k, max_row, min_col, is_saddle;
// 从键盘输入数据创建二维数组
printf("请输入3行5列的二维数组:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 5; j++) {
scanf("%d", &a[i][j]);
}
}
// 查找鞍点
is_saddle = 0;
for (i = 0; i < 3; i++) {
max_row = 0;
for (j = 0; j < 5; j++) {
if (a[i][j] > a[i][max_row]) {
max_row = j; // 记录行最大值所在列
}
}
min_col = max_row;
for (k = 0; k < 3; k++) {
if (a[k][max_row] < a[min_col][max_row]) {
min_col = k; // 记录列最小值所在行
}
}
if (min_col == i) { // 如果是鞍点,输出并标记
printf("鞍点坐标为(%d,%d),值为%d\n", i, max_row, a[i][max_row]);
is_saddle = 1;
}
}
// 如果不存在鞍点,输出 no
if (!is_saddle) {
printf("no\n");
}
return 0;
}
```
输入:
```
请输入3行5列的二维数组:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
```
输出:
```
鞍点坐标为(0,4),值为5
no
no
```
阅读全文