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