标题:请教:输出二维数组中最大数以及该数所在行,列数遇到的问题
只看楼主
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
结帖率:100%
已结贴  问题点数:20 回复次数:4 
请教:输出二维数组中最大数以及该数所在行,列数遇到的问题
#include "stdio.h"
main()
{
    int a[3][4],max=0,i,j;
    for(i=0;i<3;i++)
      for(j=0;i<4;i++)
       {
         scanf("%d",&a[i][j]);
         if(a[i][j]>max) max=a[i][j];
       }
    printf("max%d row%d colum%d",max,i,j);
         
}
这个运行的结果总是超乎我的意料,不能选出最大的数,行.列数也不对,怎么会事?请大家帮忙看一下,谢谢!
搜索更多相关主题的帖子: 大数 输出 
2009-08-03 23:56
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
得分:0 
你本来循环条件就写错了啊,当然会出错了
你自己看看for(j=0;i<4;i++)
你只不过是在给a[i][0]赋值而已。
再还有,你的if(a[i][j]>max) max=a[i][j];语句,
虽然你得到了max,但是循环还是会继续下去,i,j会一直++到3,4
所以你的row和colum值只会是最后的3,4
2009-08-04 00:16
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
得分:20 
程序代码:
#include "stdio.h"
main()
{
    int a[3][4],max=0,i,j;
    int row,colum;
    for(i=0;i<3;i++)
      for(j=0;j<4;j++)
       {
         scanf("%d",&a[i][j]);
         if(a[i][j]>max) 
           {max=a[i][j];
             row=i;
            colum=j;
           }
       }
    printf("max%d row%d colum%d",max,row,colum);
         
}
2009-08-04 00:19
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
得分:0 
谢谢大家,自己真是粗心,回去改了一下,问题果然在这。

[[it] 本帖最后由 wwe 于 2009-8-4 00:28 编辑 [/it]]
2009-08-04 00:25
葡萄树
Rank: 2
等 级:论坛游民
帖 子:23
专家分:64
注 册:2009-8-3
得分:0 
呵呵,那楼主就快结贴吧。
2009-08-04 12:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281475-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.194027 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved