| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1073 人关注过本帖, 1 人收藏
标题:3个数求最大值~!菜鸟啊~!我编出来了感觉走了很多弯路。
只看楼主 加入收藏
芳瑶泽泽
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-7-23
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:11 
3个数求最大值~!菜鸟啊~!我编出来了感觉走了很多弯路。
在调试的时候电脑 咚 的一声 该内存不能为written~!
程序如下~!大虾们指点下~!
#include "stdio.h"
void main()
{
int max(int x,int y);
int a,b,c,d,e;
scanf("%d,%d,%d",a,b,c);
if(a>b) d=a;
else d=b;
e=max(d,c);
printf("%d",e);
}
int max(int x,int y)
{ int m;
if(x>y) m=x;
else m=y;
printf(m);
    }
搜索更多相关主题的帖子: include written 最大值 
2011-07-23 17:14
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:2 
程序代码:
#include "stdio.h"
int max(int x,int y);
int main()
{

    int a,b,c,d,e;
    scanf("%d,%d,%d",&a,&b,&c);
    if(a>b) d=a;
    else d=b;
    e=max(d,c);
    printf("%d",e);
    return 0;
}
int max(int x,int y)
{
    int m;
    if(x>y) m=x;
    else m=y;
    printf("%d",m);
    return m;
}

我们都在路上。。。。。
2011-07-23 17:19
芳瑶泽泽
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-7-23
收藏
得分:0 
回复 2楼 hellovfp
果然是高手啊~!不过习惯性的把调用函数里的return 写成printf了~!!诶~!还有那个return 0~!你加上去什么意思
2011-07-23 17:25
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 3楼 芳瑶泽泽
倒,高手永远听不见你的程序救命声,所以偶不是高手,
加个return 0,是偶的编译器需求,要不会报警告的。

我们都在路上。。。。。
2011-07-23 17:30
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:2 
int main()
{
int m_ax(int x,int y);
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=a>b?a:b;
printf("%d",m_ax(max,c));
return 0;
}
int m_ax(int x,int y)
{ return x>y?x:y;
}
2011-07-23 18:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:2 
int max(int x, int y, int z) {
    return x > y ? (x > z ? x : z) : (y > z ? y : z);
}

My life is brilliant
2011-07-23 20:30
kifine
Rank: 2
等 级:论坛游民
帖 子:48
专家分:49
注 册:2011-5-9
收藏
得分:2 
你还是看看冒泡排序吧
2011-07-24 21:08
韩54521风
Rank: 4
等 级:业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
收藏
得分:2 

解法一:
#include"stdio.h"
main()
{   int a,b,c,d;
    scanf("%d%d%d",&a,&b,&c);
    d=a>b?a:b;
    d=d>c?d:c;
    printf("%d",d);
}
解法二:
#include"stdio.h"
main()
{   int a,b,c,d;
    scanf("%d%d%d",&a,&b,&c);
    d=a>b?(a>c?a:c):(b>c?b:c);
    printf("%d",d);
}
解法三:#include"stdio.h"
main()
{   int a,b,c,d;
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
        d=a;
        else
        d=b;
        if(d>c)
    printf("%d",d);
        else
    printf("%d",c);
}

2011-07-24 22:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
純求一堆數的最值,不用那麽複雜的算法。兩個對比,選大的(放在一個中間變量中),用這個大的跟其餘的比,又選大的(替換掉那個中間變量的值),直到過濾一邊,則最大的留下。

授人以渔,不授人以鱼。
2011-07-24 22:56
sewssb001
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2011-5-30
收藏
得分:2 
确实,冒泡排序问题。
不过改进下还是可以的。
#include "stdio.h"
int max(int x,int y);
int main()
{

    int a,b,c,e;
    scanf("%d,%d,%d",&a,&b,&c)
    e=max(max(a,b),c);    //调用2次函数就可以了吧
    printf("%d",e);
    return 0;
}
int max(int x,int y)
{
    int m;
    if(x>y)
        m=x;
    else
         m=y;
//    printf("%d",m);  为了尊重原作,我标示下,不直接删了。确实,你是习惯了。
    return m;
}



还有,那个问题的原因应该是你给e赋值,=右边却没返回值。
所以改进2.


#include "stdio.h"
int max(int x,int y);
int main()
{

    int a,b,c,d;
    scanf("%d,%d,%d",&a,&b,&c)
    if(a>b)
         d=a;
    else
        d=b;
    max(d,c);  //反正你下面有输出了,就用它了。这样也行的。
    return 0;
}
int max(int x,int y)
{
    int m;
    if(x>y)
        m=x;
    else
         m=y;
    printf("%d",m);  
}

同是菜鸟,学习中。。。。。
2011-07-25 08:55
快速回复:3个数求最大值~!菜鸟啊~!我编出来了感觉走了很多弯路。
数据加载中...
 
   



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

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