大家好鸭😎,前几期的EduCoder题解,阅读量超过了之前的好多文章!谢谢大家的阅读。
如果题目AC的话,求一个免费的赞噢👻
如果有编程相关的问题,可以一起交流探讨😊。
QQ:3199902692(加好友的验证消息,填写CSDN就可以啦)
任务描述
题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
编程要求
输入
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。
输出
按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。
一个二维数组并不一定存在鞍点,此时请输出None
我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8
样例输入:
3 3
1 2 3
4 5 6
7 8 9
样例输出:
Array[0][2]=3
#include<stdio.h>
int main(void)
{
/*********Begin*********/
//题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
/*********End**********/
int m,n;
int i,j;
int x,y;
scanf("%d%d",&m,&n);
int a[m][n];
for(i=0;i<=m-1;i++)
{
for(j=0;j<=n-1;j++)
{
scanf("%d",&a[i][j]);
}
}
int c=0;
//↑输入值
//↓找到最值 每行中的最大 每列中的最小
for(j=0;j<=n-1;j++)
{
i=0;
if(c<a[i][j])
{
c=a[i][j];//得到第一行中的最大值
y=j;//将坐标给了y
}
}
//以上找到了第一行中的最大
for(i=0;i<=m-1;i++)
{
if(c>=a[i][y])
{
c=a[i][y];//每列中的最小值
x=i;
}
}
printf("Array[%d][%d]=%d",x,y,c);
return 0;
}