| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:最大值所在位置的问题?
只看楼主 加入收藏
向上的小树
Rank: 2
来 自:湖南~岳阳
等 级:论坛游民
帖 子:41
专家分:30
注 册:2013-12-26
结帖率:40%
收藏
已结贴  问题点数:20 回复次数:6 
最大值所在位置的问题?
哪位大神支支招,我想把最大值及其位置求出来,最大值是求出来了,但是位置不对,求哪位大神帮忙看一下,拜托了!
#include "stdio.h"
#define M 5
int fun(int a[][M])
{
    int Max;
    int i = 0,j = 0;
    Max = a[0][0];
    for(i = 0;i < 2;i ++)
    {    for(j = 0;j < M;j ++)
        {
            if(Max < a[i][j])
                Max = a[i][j];
            
        }
        
    }
    printf("Max = a[%d][%d]    ",i,j);//此处位置显示出来后不正确,就是两个下标都大了1
    return Max;
}
int main(void)
{
    int Max;
    int a[2][M] = {12,44,53,76,46,23,76,80,42,56};
    Max = fun(a);
    printf("Max = %d\n",Max);
}
搜索更多相关主题的帖子: include return 最大值 
2014-03-11 20:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
再增加两个变量。在记录最大值时同时记下当时的ij。

重剑无锋,大巧不工
2014-03-11 20:15
LemonMXHC
Rank: 2
等 级:论坛游民
帖 子:3
专家分:30
注 册:2014-1-15
收藏
得分:20 
位置必然是错的啊,两层循环要一直执行,知道所有元素都比较过,但是此时i和j已经到了最后一个元素,即a[1][4],但是还要在进行一次j++,i++,从而判断它们不满足循环条件,结束循环,所以变成了a[2][5];正确结果应该是a[1][2]和80。
#include "stdio.h"
#define M 5
int fun(int a[][M])
{
    int Max;
    int i = 0,j = 0,c=0,d=0;
    Max = a[0][0];
    for(i = 0;i < 2;i ++)
    {    for(j = 0;j < M;j ++)
        {
            if(Max < a[i][j])
            {Max = a[i][j];
            c=i,d=j;}
            
        }
        
    }
    printf("Max = a[%d][%d]    ", c,d);
    return Max;
}
int main(void)
{
    int Max;
    int a[2][M] = {12,44,53,76,46,23,76,80,42,56};
    Max = fun(a);
    printf("Max = %d\n",Max);
}
2014-03-12 14:23
porywei
Rank: 2
等 级:论坛游民
帖 子:36
专家分:73
注 册:2014-3-6
收藏
得分:0 
#include"stdio.h"

int find_max(int a[][5]);

int main()
{
    int i[2][5]={11,22,33,44,55,66,77,100,88,99};
    int max;
    max=find_max(i);

    printf("max=%d\n",max);
    return 0;
}

//find_max define

int find_max(int a[][5])
{
    int i,j;
    int x,y;
    int max;
    max=a[0][0];

    for(i=0;i<2;i++)
    {

        for(j=0;j<5;j++)
        {
            if(a[i][j]>max)
            {   
                max=a[i][j];
                x=i;y=j;
            }
        }
    }
    printf("a[%d][%d]   ",x,y);
    return max;
}

程序员没有女朋友
2014-03-12 16:32
向上的小树
Rank: 2
来 自:湖南~岳阳
等 级:论坛游民
帖 子:41
专家分:30
注 册:2013-12-26
收藏
得分:0 
回复 2楼 beyondyf
谢谢你了!

。。。。。。一定要用代码敲出自己的牛奶和面包,加油。。。。。。。
2014-03-12 21:23
向上的小树
Rank: 2
来 自:湖南~岳阳
等 级:论坛游民
帖 子:41
专家分:30
注 册:2013-12-26
收藏
得分:0 
回复 3楼 LemonMXHC
非常感谢!

。。。。。。一定要用代码敲出自己的牛奶和面包,加油。。。。。。。
2014-03-12 21:29
向上的小树
Rank: 2
来 自:湖南~岳阳
等 级:论坛游民
帖 子:41
专家分:30
注 册:2013-12-26
收藏
得分:0 
回复 4楼 porywei
非常感谢你!

。。。。。。一定要用代码敲出自己的牛奶和面包,加油。。。。。。。
2014-03-12 21:32
快速回复:最大值所在位置的问题?
数据加载中...
 
   



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

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