标题:四個數字排序問題(從大到小)﹐怎么編譯的程序有的成立﹐有的卻不成立﹐請 ...
取消只看楼主
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
结帖率:100%
已结贴  问题点数:20 回复次数:3 
四個數字排序問題(從大到小)﹐怎么編譯的程序有的成立﹐有的卻不成立﹐請高手指教﹐幫忙看哪里有問題?
程序代码:
#include <stdio.h>
void main()
{ int a,b,c,d;
  printf("Please input four number:");
  scanf("%d%d%d%d",&a,&b,&c,&d);
  printf("a b c d從大到小的順序為:");
  if(a>=b&&a>=c)
   { if(d>=a)
      {if(b>=c) printf("%d %d %d %d",d,a,b,c);
       else     printf("%d %d %d %d",d,a,c,b);
       }
    else if(b>d&&c>d)
      {if(b>=c) printf("%d %d %d %d",a,b,c,d);
       else     printf("%d %d %d %d",a,c,b,d);
       }
    else
      {if(b>=c) printf("%d %d %d %d",a,d,b,c);
       else     printf("%d %d %d %d",a,d,c,b);
       }
    }
  else
    { if(d>b&&d>c)
        {if(b>=c)  printf("%d %d %d %d",d,b,c,a);
         else      printf("%d %d %d %d",d,c,b,a);
         }
       else if(a>d)
         {if(b>=c)  printf("%d %d %d %d",b,c,a,d);
          else       printf("%d %d %d %d",c,b,a,d);
         }
       else
         {if(b>=c)  printf("%d %d %d %d",b,c,d,a);
          else      printf("%d %d %d %d",c,b,d,a);
         }
      }
    getch();
}
如題﹕
  比如輸入﹕7 8 9 10    結果為﹕10 9 8 7
  但輸入﹕98 89 78 87   結果卻為﹕98 87 89 78(結果出錯)
PS﹕我測試了很多組數據﹐大部分是對的﹐但有少部分結果出錯﹐請高手幫忙指教﹗(我剛學到IF嵌套﹐后面的還沒學﹐指針還不了解﹐就用IF else能把問題解決嗎?)
搜索更多相关主题的帖子: 成立 
2011-08-11 06:59
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
得分:0 
  楼上的大哥我才学不久啊,书上列举三个数排序,我就想举一反三弄四个数试试,
这不遇到问题求助来了,后面的内容还没学到呢?慢慢来!
  PS:为什么有的行,有的却不行,郁闷....
2011-08-11 11:45
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
得分:0 
2楼的,"[]"这个是什么啊,难学不?
2011-08-11 11:48
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
得分:0 
恩﹐樓上的說的很對﹐我疏忽了﹐按照排列A44=24﹐感謝你的回答﹐我會繼續努力的﹗
2011-08-14 04:23



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




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

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