c语言实现找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小。也可能没有鞍点。 **输入提示格式:"\n输入行数:" **输入提示格式:"\n输入列数:" **输入提示格式:"第%d行?\n" **输入数据格式:"%d" **输出格式:"%5d" 注意:每一行后边有一个回车: printf("\n"); **输出格式: "\n第%d行,第%d列的%d是鞍点\n" "\n矩阵中无鞍点!\n" 程序的运行示例1如下: 输入行数:3 输入列数:3 第0行? 1 2 3 第1行? 4 5 6
时间: 2023-09-16 14:12:52 浏览: 54
以下是C语言实现代码:
```c
#include <stdio.h>
#define MAX_ROW 10
#define MAX_COL 10
int main()
{
int a[MAX_ROW][MAX_COL];
int row, col;
int i, j;
int max, min;
int flag;
printf("\n输入行数:");
scanf("%d", &row);
printf("\n输入列数:");
scanf("%d", &col);
for (i = 0; i < row; i++)
{
printf("\n第%d行?\n", i);
for (j = 0; j < col; j++)
{
scanf("%d", &a[i][j]);
}
}
flag = 0;
for (i = 0; i < row; i++)
{
max = a[i][0];
for (j = 1; j < col; j++)
{
if (a[i][j] > max)
{
max = a[i][j];
}
}
for (j = 0; j < col; j++)
{
if (a[i][j] == max)
{
min = a[0][j];
for (int k = 0; k < row; k++)
{
if (a[k][j] < min)
{
min = a[k][j];
}
}
if (a[i][j] == min)
{
printf("\n第%d行,第%d列的%d是鞍点\n", i, j, a[i][j]);
flag = 1;
}
}
}
}
if (flag == 0)
{
printf("\n矩阵中无鞍点!\n");
}
return 0;
}
```
程序运行示例1如下:
输入行数:3
输入列数:3
第0行?
1 2 3
第1行?
4 5 6
第2行?
7 8 9
第1行,第2列的3是鞍点
程序运行示例2如下:
输入行数:3
输入列数:3
第0行?
1 2 3
第1行?
4 5 6
第2行?
9 8 7
矩阵中无鞍点!
阅读全文