jishuzhain 发表于 2015-6-25 16:15:16

关于这个小排序的问题

#include<stdio.h>
int main()
{
        int a, b, c, d, t;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        if(a>b)
        {
                t=b;
                b=a;
                a=t;
        }
        if(b>c)
        {
                t=c;
                c=b;
                b=t;
        }
        if(a>c)
        {
                t=c;
                c=a;
                a=t;
        }
        printf("%d %d %d\n",a,b,c);


        if(d<a)
                printf("%d %d %d %d\n",d,a,b,c);
                else
       
                        if(a<d<c)
                        printf("%d %d %d %d\n",a,d,b,c);
       
                        else
       
       
                                if(b<d<c)
                                printf("%d %d %d %d\n",a,b,d,c);
                       
                                        else
       
                                                printf("%d %d %d %d\n",a,b,c,d);
        return 0;

}

后面的if else有问题。,。 就是不懂哪里出错了。。求解释下。

牡丹花下死做鬼 发表于 2015-6-25 16:18:18

发贴标准:
   标题:标题简单的描述问题,让人一目了然,不要出现“高手请进”之类的标题
   内容:
         1、问题描述 (不要出现错别字,尽量详细,列举例子,以便于了解问题,快速解答)
         2、使用过解决方法
         3、选择正确的主题分类
         4、问题发起人关注问题解决过程,请在一周内跟帖回复。
         5、提问要文明、礼貌。语言粗鲁会被删贴

另:希望本版鱼油在提问的时间注意以下几点:
1. 提问尽量不要点将,例如: 小甲鱼来问答下...XX来回答下... (影响他人回帖积极性)
2. 代码大于20行以上时,最好写清自己的思路和注释,这样回答的人才能尽快给大家答案!(避免扔上一大堆代码,说是有错误,请人指点!)
3. 发代码请务必使用编辑器的“添加代码文字”(这个符号:<>)代码不会发请点击我

ljd884497 发表于 2015-6-25 19:16:54

#include <stdio.h>

void main()

{
      int a,b,c,d,t;
                scanf("%d%d%d%d",&a,&b,&c,&d);
                if(a<b)
                {t=a;
                a=b;
                b=t;
                }
                if(a<c)
                {
                        t=a;
                        a=c;
                        c=t;
                }
                if(a<d)
                {
                        t=a;
                        a=d;
                        d=t;
                }//上面是保证a最大,后面再比较b,c,d
                if(b<c)
                {t=b;
                b=c;
                c=t;
                }
                if(b<d)
                {t=b;
                b=d;
                d=t;
                }//保证b第二大,后面比较c,d
                if(c<d)
                {t=c;
                c=d;
                d=t;
                }
                printf("%d %d %d %d\n",a,b,c,d);
}//你的

ljd884497 发表于 2015-6-25 19:18:05

你的思路有点乱

jishuzhain 发表于 2015-6-27 13:16:38

ljd884497 发表于 2015-6-25 19:16
#include

void main()


我的思路不是你这样的,,我不想全部用冒泡排序,不过已经解决了,谢啦

jishuzhain 发表于 2015-6-27 13:25:03

ljd884497 发表于 2015-6-25 19:18
你的思路有点乱

你的思路很新颖啊。。。:lol:
页: [1]
查看完整版本: 关于这个小排序的问题