1樓:聽不清啊
因為你輸出的順序是a,b,c,d,而比較交換的策略是,如果前面的值小於後面的值就交換兩個變數的值(前面變數的值大則不交換),所以就是大的在前,小的在後了。
並沒有從小到大啊?
2樓:
你可以利用 c 標準庫 stdlib.h 裡的 qsort( ) 完成任何型別的陣列的快速排序:
#include
#include
int compare( const int *a, const int *b )
int main( )
呼叫 qsort( ) 只需要傳入四個引數:
1)陣列指標:指向要排序的陣列
2)陣列的元素個數
3)陣列的元素位元組長度
4)函式指標:指向我們定義的一個比較兩個元素大小的函式
若是要 qsort( ) 做由小到大的排序,我們定義的函式的返回值和相應的條件必須是:
返回值 條件
*****= *****
< 0 *a < *b
0 *a == *b
> 0 *a > *b
要達到以上的要求其實就只需寫 “*a - *b” 。
而若是要 qsort( ) 做由大到小的排序,把 *a 和 *b 的位置換一換就行了。
c語言程式設計題:輸入4個整數,要求按由小到大順序輸出怎麼編啊?
3樓:小心_不在犯錯
#include
int main()
if (a > c)
if (a > d)
if (b > c)
if (b > d)
if (c > d)
printf("由小
dao到大輸專
出屬:%d %d %d %d\n",a,b,c,d);
return 0;}
4樓:黑白say晚安
一、氣泡排序,**和執行結果如圖所示。
重複地走訪過要排序的元
素列,依次專
比較兩個相鄰的元素,如果屬他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。
二、選擇排序,**和執行結果如圖所示。
思想:選擇排序,讓陣列中的每一個數,依次與後面的數進行比較,如果前面的數大於後面的數,就進行位置的交換。換個說法,選擇排序:
第一個數依次與後面的數比較,第一次比較完之後最小的數在最前面 。
5樓:加百列
利用函式的模組copy化設計。
1、完成整體bai函式格局,輸入、du排序、輸zhi出。
2、輸入函式**如下
dao:
3、排序函式**如下:
4、輸出函式**如下:
5、執行結果:
6樓:圖圖的大耳朵鴨
使用氣泡排序法進行程式設計:
解釋:1.第一個for迴圈:利用陣列迴圈輸入4個變數。
2.第二個回for迴圈:該迴圈的意思是答如果a[0]>a[1]的話,兩個變數的值交換,利用迴圈依次比較。
要注意的是i<3,因為其中有i+1,i最大取到2,也就是i+1最大取到3才正確。
3.第三個for迴圈:利用迴圈依次輸出排序後的陣列,每輸出一個加一個空格以便於區分。
7樓:
最愚蠢的方法:
# include
main()
; if(a>d) ;
if(b>d) ;
if(c>d) ;
printf("%5.2f,%5.2f,%5.2f,%5.2f",a,b,c,d);
}冒泡法:
# include
main()
}for(i=0;i<4;i++) /* 分別輸出排完後的4個數 */
printf("%d ",a[i]);}
8樓:員施濯馨逸
將四個數存到bai數du組中,然後排序即zhi可。
排序dao後,再利用循版
環輸出。
**權:
#include
int main()
}for(i = 0; i < 4; i ++)printf("%d,",a[i]);}
9樓:戰殤弒魂
#include
#include
void main()
printf("the sorted numbers:\n");//列印出分類後的結果
for(i=1;i<=45;i++)
printf("%d ",a[i]);
system("pause");//螢幕停留在當前結果,以免螢幕一閃而過,無法看到執行結果}
10樓:浪_鷹
#include
main()
printf("您輸入的四個整數由小到大輸入為:\n")for(i=0;i<4;i++) //迴圈輸出printf("%d ",a[i]);
getchar(); //停止螢幕
getchar();
}你可以上機執行一下,結果是對的,有什麼地方不明白的再聯絡我,只要我會的一定告訴你的!!!
11樓:匿名使用者
maim()
for(i=1;i<5;i++)
for(j=i+1;j<5,j++)
printf("排序後\n");
for(i=1;i<5;i++)}
c語言寫出 ,輸入4個整數,要求按由大到小的順序輸出?
12樓:
你可以利用 c 標準庫 stdlib.h 裡的 qsort( ) 完成任何型別的陣列的快速排序:
#include
#include
int compare( const int *a, const int *b )
int main( )
呼叫 qsort( ) 只需要傳入四個引數:
1)陣列指標:指向要排序的陣列
2)陣列的元素個數
3)陣列的元素位元組長度
4)函式指標:指向我們定義的一個比較兩個元素大小的函式
若是要 qsort( ) 做由小到大的排序,我們定義的函式的返回值和相應的條件必須是:
返回值 條件
*****= *****
< 0 *a < *b
0 *a == *b
> 0 *a > *b
要達到以上的要求其實就只需寫 “*a - *b” 。
而若是要 qsort( ) 做由大到小的排序,把 *a 和 *b 的位置換一換就行了。
13樓:長鯨高淑穆
4個整數的排序,有使用單個變數和使用陣列二種方法實現。
使用單個變數的方法:
#include
intmain()
if(a>c)
if(a>d)
if(b>c)
if(b>d)
if(c>d)
printf("%d
%d%d
%d\n",a,b,c,d);
return0;}
使用陣列和迴圈的方法:
#include
intmain()
for(i=0;i<4;i++)
//輸出4個資料
printf("%d
",a[i]);
printf("\n");
return0;}
14樓:仝秀花來緞
用冒跑法寫:
main()
for(i=1;i<=4;i++)
printf("%d",a[i]);
/*輸出從小到大的四個數*/}
15樓:龍車花卉
#include "stdafx.h"
void mysort(int* pdata,int count)
c語言輸入整數按要求從小到大的順序輸出
親,哪有你這樣比較的。首先是輸入4個整數,您直接定義成float浮點型,這就不對。最好是把這些數裝入一個陣列內,再排序。int main for count 0 count 4 count return 邏輯有漏洞。a b a c a d成立時都有交換這沒錯,但某一項不滿足呢?比如a c不滿足,那就...
求C語言程式 輸入正整數,要求以相反數順序輸出該數。如輸
int main int argc,char argv return 0 例子輸出。當然實際上,你要把printf的部分儲存起來。input a int 1234 4321 press any key to continue input a int 234289701107982432 press ...
c 語言程式設計 輸入整數,要求按照由小到大的順序輸出
潮範君 include 標頭檔案 using namespace std void swap int p1,int p2 用於交換2個變數的功能函式 int main int n1,n2,n3 int p1,p2,p3 cout 請依次輸入3個整數 cin n1 n2 n3 p1 n1 p2 n2 ...