标题:三个数的冒泡排序!
只看楼主
潇湘夜雨001
Rank: 2
等 级:论坛游民
帖 子:14
专家分:28
注 册:2017-4-22
结帖率:33.33%
已结贴  问题点数:20 回复次数:5 
三个数的冒泡排序!
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
int main()
{
    int a,b,c,temp;
    scanf("%d%d%d",&a,&b,&c);//scanf加不加空格,没关系,默认是以空格分隔开数
    //实现将a,b,c从小到大进行排列
    //前两个if将最大的数字挪到了最后面,c
    if(a>b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if(b>c)
    {
        temp = b;
        b = c;
        c = temp;
    }
    if(a>b)
    {
        temp = a;
        a = b;
        b = temp;   
    }
    //也许你会问,怎么a>b写了两次,前两个if实现了相当于最重
    //的球沉到最底下,然后开始比较前两个数。
    printf("a=%d,b=%d,c=%d",a,b,c);
    system("pause");
    /*getchar();*/
    return 0;
}
搜索更多相关主题的帖子: 个数 冒泡排序 include temp 空格 
2017-07-25 01:40
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
你这是提问呢  还是教学呢  没看明白

DO IT YOURSELF !
2017-07-25 14:25
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
得分:5 
这么多if语句,写一个函数不是更好看么
void max(void* a,void* b);

int max_num = a>b? a:b;
2017-07-26 09:33
CreatorGreen
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2017-7-26
得分:5 

楼上正解
2017-07-26 19:51
m15962977275
Rank: 2
等 级:论坛游民
威 望:2
帖 子:31
专家分:58
注 册:2017-7-31
得分:5 
冒泡排序for循环不是更加简单吗

for(int i=0;i<2;i++)
 for(int j=0;j<2-i;j++)
{
   if(a[j]>a[j+1])
   {
      t=a[j];
      a[j]=a[j+1];
      a[j+1]=t;
   }
}
2017-07-31 16:51
潇湘夜雨001
Rank: 2
等 级:论坛游民
帖 子:14
专家分:28
注 册:2017-4-22
得分:0 
回复 2楼 wp231957
看着似乎更简洁,但是逻辑似乎没if ……else 清晰!
2017-08-01 00:31



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




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

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