m0_70029950 2022-05-28 10:02 采纳率: 79.2%
浏览 73
已结题

关于二维数组输出最大值并输出其对应的行数和列数

问题遇到的现象和发生背景

期望输出最大值及其所在的行数和列数,但如图片所示输入不能实现

问题相关代码,请勿粘贴截图

img

img

运行结果及报错内容

img

我想要达到的结果

以此题为例,输出 700 3 3https://img-mid.csdnimg.cn/release/static/image/mid/ask/663103307356143.png "#left")

  • 写回答

1条回答 默认 最新

  • a5156520 2022-05-28 11:00
    关注

    一些小错误,如循环的一些值设置不对,修改如下:

    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void){
        
        int a[3][4];
        int i,j,t,row,column;
        for(i=0;i<3;i++){
            for(j=0;j<4;j++){  //数组的每一列的下标都是从0开始的,这里把1改为0 
                scanf("%d",&a[i][j]);
            }
        }
     //最大值t初始化为二维数组第一个元素然后循环里比较和其他位置的的大小即可,
     //在循环里重复赋值会覆盖掉先前比较得出临时的最大值    ,所以把t的初始化提出来,并只赋初始值 
        t=a[0][0] ; 
        for(i=0;i<3;i++){
            for(j=0;j<4;j++){  //二维数组a有4列,下标从0到3,所以这里把3改为4 
            
                if(a[i][j]>t){
                    t=a[i][j];
                    //行数和列数比相应下标值都大1,所以在下标值的基础上都加1 
                    row=i+1;  
                    column=j+1;
                }else{
                    continue;
                }
            } 
        }
        
        printf("%d %d %d",t,row,column);
        
        return 0;
    } 
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月28日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?