#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#include<string.h>
/*
87 90 110 98
70 97 210 65
99 45 120 30
*/
int main()
{
int a[3][4];
int i,j,k,isfind,m=0;//m是判断是否有没有鞍点的
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
}
//先找每一行对应最大的值
//因此我们要定义一个变量max
int max;
for(i=0;i<3;i++)
{
isfind=1;
max=a[i][0];//一般设有初始值的都是为了让他去比较而不是a[i][0];
for(j=0;j<4;j++)
{
if(max<a[i][j])
{
max=a[i][j];
k=j;
}
//找到该数对应的列数,因为j会变,所以要记录这个数
//此时找到了最大值
}
//找到对应列数的最小值
for(j=0;j<3;j++)
{
if(a[j][k]<max)
{
isfind=0;
break;
}
}
if(isfind==1)
{
m=1;
printf("%d",a[i][k]);
}
}
if(m==0)
{
printf("NO");
}
}
调试了好多遍,有没有帮我看看哪错了。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- tanjunming2020 2023-03-09 16:27关注
在第27行,你要让k=0,不然这组数据过不了。
100 101 102 103
90 80 70 60
200 300 400 500因为如果k没有设初值,则k可能为上一次选到的。如果当前没有a[i][j]比a[i][0]大,则k就是上一次的值,不一定为0。
所以k要设一个初值本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
- ¥20 关于URL获取的参数,无法执行二选一查询
- ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
- ¥15 marlin编译错误,如何解决?
- ¥15 有偿四位数,节约算法和扫描算法
- ¥15 VUE项目怎么运行,系统打不开
- ¥50 pointpillars等目标检测算法怎么融合注意力机制
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集