| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 907 人关注过本帖
标题:求个算法
只看楼主 加入收藏
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:11 
求个算法
比较三个数的大小。a,b,c.
如何设计,总不能一个一个试吧,这样好像太多了吧!


int max(int x,int y)
{int MAX;
     MAX=(a>b)?a:b;
    return MAX;   
}
main()
int a,b,c;
{
        
}



怎么做啊! 一个个的毕太多了吧 我没思路

望高手指点迷津
搜索更多相关主题的帖子: 算法 
2010-07-16 18:15
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
我有个思路 就是 定义一个变量V=(a+b+c)/3, 先求出三个数的平均值,然后,必仅有一个数小于或等于V,或必仅有一个数大于=V,就是将最大或最小的那个数,先分离出去。剩下的两个数就好办了。  但如何写呢。我不会,望高手帮忙,
  无论如何,给出代码就好。先谢过啦

初生牛犊,望多多照顾!
2010-07-16 18:27
舞梦
Rank: 1
来 自:保定
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-7-15
收藏
得分:0 
#include<studio.h>
main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)(t=a,a=b,b=t)
if(a>c)(t=a,a=c,c=t)
if(b>c)(t=b,b=c,c=t)
printf("%d,%d,%d",a,b,c);

相信永不放弃的东西,一定会成功
2010-07-16 18:31
zisefengye
Rank: 5Rank: 5
等 级:职业侠客
帖 子:167
专家分:386
注 册:2010-6-27
收藏
得分:2 
楼主问的问题其实很多人都问过了,自然少有人响应。可以翻翻以前的帖子,你会发现很多好东西。
int Max(int x, int y, int z)
{
    int max = x;
    if(max < y) max = y;
    if(max < z) max = z;
    return max;
}
2010-07-16 18:57
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:15 
我有两个算法,你看看吧:
代码一:
程序代码:
#include<stdio.h>
main()

{int   a,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

     if(a>b)

     max=a;

      else

          max=b;

     if(max>c)

       max=max;

       else

           max=c;

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

   }


代码二:
程序代码:
#include "stdio.h"
main()
{

 int a,b,c;

 scanf("%d%d%d",&a,&b,&c);

 if(a>b&&a>c)
    {
     if(b>c) printf("%d,%d,%d",a,b,c);
     else printf("%d,%d,%d",a,c,b);
    }

 if(b>c&&b>a)
    {
     if(a>c) printf("%d,%d,%d",b,a,c);
     else printf("%d,%d,%d",b,c,a);
    }
if(c>a&&c>b)
   {
    if(a>b) printf("%d,%d,%d",c,a,b);
     else printf("%d,%d,%d",c,b,a);

    }
getchar();
} 


 

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-16 19:01
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
回复 5楼 sunyh1999
你太有才啦给你十五分

初生牛犊,望多多照顾!
2010-07-16 19:19
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
还有没有更好的解法  再等三小时就结贴

初生牛犊,望多多照顾!
2010-07-16 19:22
suqhang
Rank: 2
等 级:论坛游民
帖 子:16
专家分:20
注 册:2010-7-7
收藏
得分:1 
int i,max,a[]={1,2,3};//自己换吧
for(i=0;i<3;i++)
{
    max=a[0];
    if(a[i]>max)
    {
        t=a[0];a[0]=a[i];a[i]=a[0];
    }
}
pintf("%d是最大",max);

[ 本帖最后由 suqhang 于 2010-7-16 21:01 编辑 ]
2010-07-16 21:00
zisefengye
Rank: 5Rank: 5
等 级:职业侠客
帖 子:167
专家分:386
注 册:2010-6-27
收藏
得分:2 
以下是引用suqhang在2010-7-16 21:00:06的发言:

int i,max,a[]={1,2,3};//自己换吧
for(i=0;i<3;i++)
{
    max=a[0];
    if(a[i]>max)
    {
        t=a[0];a[0]=a[i];a[i]=a[0];
    }
}
pintf("%d是最大",max);
我想这样会更合适
int max, a[] = {1,2,3};
int max = a[0];
for(int i = 1; i < 3; i++)
{
    if(max < a[i])
        max = a[i];
}
pintf("%d是最大",max);


[ 本帖最后由 zisefengye 于 2010-7-16 21:22 编辑 ]
2010-07-16 21:20
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
回复 9楼 zisefengye
[]的用法我还没学到

初生牛犊,望多多照顾!
2010-07-16 21:26
快速回复:求个算法
数据加载中...
 
   



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

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