编程判断3*3的二维数组是否存在鞍点;如果存在鞍点请输出该值及其在数组中的下标值(X,Y). 鞍点即是在这个二维数组中,某一个位置上的元素在该行上最大,该列上最小。 程序运行示例1: 请输入二维数组: 9 8 3 6 3 4 4 3 2 该二维数组的鞍点为4:下标为(2,0). 程序运行示例2: 请输入二维数组: 4 5 7 3 8 5 6 9 4 该二维数组中没有鞍点. 输入3*3的二维数组提示信息:"请输入二维数组:\n" 输入格式:%d 存在鞍点输出格式:"该二维数组的鞍点为%d:下标为(%d,%d).\n" 不存在鞍点输出提示:"该二维数组中没有鞍点.\n"
时间: 2024-03-10 15:50:19 浏览: 96
以下是C语言实现的代码:
```c
#include <stdio.h>
int main()
{
int arr[3][3];
printf("请输入二维数组:\n");
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&arr[i][j]);
}
}
int flag=0;
for(int i=0;i<3;i++)
{
int max=arr[i][0];
int index_j=0;
for(int j=1;j<3;j++)
{
if(arr[i][j]>max)
{
max=arr[i][j];
index_j=j;
}
}
int min=arr[0][index_j];
int index_i=0;
for(int j=1;j<3;j++)
{
if(arr[j][index_j]<min)
{
min=arr[j][index_j];
index_i=j;
}
}
if(max==min)
{
printf("该二维数组的鞍点为%d:下标为(%d,%d).\n",max,index_i,index_j);
flag=1;
break;
}
}
if(flag==0)
{
printf("该二维数组中没有鞍点.\n");
}
return 0;
}
```
运行示例:
输入:
```
请输入二维数组:
9 8 3
6 3 4
4 3 2
```
输出:
```
该二维数组的鞍点为4:下标为(2,0).
```
输入:
```
请输入二维数组:
4 5 7
3 8 5
6 9 4
```
输出:
```
该二维数组中没有鞍点.
```
阅读全文