四個數字排序問題(從大到小)﹐怎么編譯的程序有的成立﹐有的卻不成立﹐請高手指教﹐幫忙看哪里有問題?
程序代码:#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能把問題解決嗎?)

