c語言編寫程式用氣泡排序實現升序排列

2021-03-27 06:37:58 字數 5945 閱讀 7578

1樓:很多很多

1、首先開啟一個空白的c語言檔案,首先先定義一組待排序的數列以及各個變數,接著就是用來處理排序的邏輯:

2、氣泡排序的邏輯是一組數從第一個數值開始,如果相鄰兩個數的排列順序與期望不同,則將兩個數的位置進行交換,重複這樣的過程直到最後一個數不需要交換則排序完成,如果有n個數需要排序,則需要進行(n-1)趟的比較:

3、最後編譯執行程式,觀察最終排序的結果,可以看到數字被從小到大的排列好了,以上就是c語言氣泡排序實現的過程:

2樓:城春許木深

程式如下:

#include

int main ()

for (j = 0;j < 9; j++)for (i = 0; i < 9 - j; i++)if (a[i] > a[i+1])

printf ("由小到大的順序為:\n");

for (i = 0; i < 10; i++)printf ("\n");

return 0;

} 執行結果

請輸入十個數:

a[1]=7

a[2]=8

a[3]=9

a[4]=6

a[5]=5

a[6]=4

a[7]=1

a[8]=2

a[9]=3

a[10]=99

由小到大的順序為:

1,2,3,4,5,6,7,8,9,99。

擴充套件資料//從頭向尾遍歷,將最大數(相對)沉入尾部(相對)void bubblesort1(int *arr,int sz)}}//從尾向頭遍歷,將最大數(相對)冒泡到頭部(相對)void bubblesort2(int *arr,int sz)}

3樓:匿名使用者

氣泡排序(bubble sort),是一種電腦科學領域的較簡單的排序演算法。

它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

參考**:

#include

#include

int main()

for(i=0;i<5;i++)

printf("%d ",a[i]);

return 0; }/*

5 42 165 1 9

1 5 42 165 9*/

4樓:

#include

void main()

printf("排序後的數字為:");

for(i=0;i<=9;i++)

printf("%d ",*(p+i));

printf("\n");}

c語言:編寫一個程式用氣泡排序實現降序排列

5樓:

#include

void main()

printf("排序後的數字為:");

for(i=0;i<=9;i++)

printf("%d ",*(p+i));

printf("\n");}

6樓:庚晗崔雪冰

氣泡排序(bubble

sort),是一種電腦科學領域的較簡單的排序演算法。

它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

參考**:

#include

#include

int main()

for(i=0;i<5;i++)

printf("%d ",a[i]);

return 0; }/*

5 42 165 1 9

1 5 42 165 9*/

c語言程式設計:對10個數氣泡排序(升序)。

7樓:匿名使用者

#include

int main();

for (int j = 0; j < 9; j++)

for (int i = 0; i < 9 - j; i++)

}for (int i = 0; i < 10; i++)

}擴充套件資料:

常見排序演算法

快速排序、希爾排序、堆排序、直接選擇排序不是穩定的排序演算法,而基數排序、氣泡排序、直接插入排序、折半插入排序、歸併排序是穩定的排序演算法。

插入排序

已知一組升序排列資料a[1]、a[2]、……a[n],一組無序資料b[1]、b[2]、……b[m],需將二者合併成一個升序數列。

首先比較b[1]與a[1]的值,若b[1]大於a[1],則跳過,比較b[1]與a[2]的值,若b[1]仍然大於a[2],則繼續跳過,直到b[1]小於a陣列中某一資料a[x],則將a[x]~a[n]分別向後移動一位,將b[1]插入到原來a[x]的位置這就完成了b[1]的插入。

b[2]~b[m]用相同方法插入。

快速排序

快速排序是大家已知的常用排序演算法中最快的排序方法。已知一組無序資料a[1]、a[2]、……a[n],需將其按升序排列。首先任取資料a[x]作為基準。

比較a[x]與其它資料並排序,使a[x]排在資料的第k位,並且使a[1]~a[k-1]中的每一個資料希爾排序

已知一組無序資料a[1]、a[2]、……a[n],需將其按升序排列。

8樓:匿名使用者

//以下以四個數字的給舉例,便於理解;

#include

main()

; //定義陣列,陣列是本次要排序的數字組合;注意此處陣列中一共4個數字所以 理論上是 a[4]=;

//初試化i=1;並判斷i是否小於等於3; 如果符合條件 那麼進入for迴圈;(4個數字,兩兩對比需要進行3輪對比,i就代表了輪數;i需要經過 1,2,3 三輪的賦值;i=4的時候會跳出for迴圈)

for(i=1; i<=3; i++)}}for(i=0; i<4; i++)

}/*執行結果如下:

第 1個數字為:3

第 2個數字為:6

第 3個數字為:10

第 4個數字為:30*/

9樓:水瓶哈帥

//氣泡排序,假設有n個數,需要n-1趟排序//其中,第i趟需要 n-i次排序

#include

int main(void)

;int i,j,w;

printf("輸入5個數:%d\n",a[5]);

/*for(i=0;i<5;i++)

*///使用2層迴圈

for(i=1;i<=5-1;i++) //趟}}for(i=0;i<5;i++)

printf("%4d",a[i]);

return 0;}

10樓:匿名使用者

氣泡排序(bubble sort),是一種電腦科學領域的較簡單的排序演算法。

氣泡排序流程:它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

參考**:

#include

int main()

for(i=0;i<10;i++)

printf("%d ",a[i]);

return 0;}/*

執行結果:

2 3 5 4 1 9 8 7 6 0

0 1 2 3 4 5 6 7 8 9*/

11樓:誓者如釃

我跟樓上不同,沒用到指標,應該能更容易理解!如果還有問題可以追問…具體如下:

#include

void main()

for(i=1;i<=10;i++)

printf("%d\t",a[i];

}用手機打的,結構不是很美觀。望見諒!

12樓:匿名使用者

我和二樓的有微小的不同是用到了巨集定義

#include

#define n 10

int main(void)

for(i=0;i

for(i=0;i

printf("\n");

return 0;}

13樓:匿名使用者

#include

void main()

printf("排序後的數字為:");

for(i=0;i<=9;i++)

printf("%d ",*(p+i));

printf("\n");

祝你好運!

14樓:匿名使用者

語言編織過十個數,氣泡排序升序。

15樓:藍天國際

應該是隻有找專門的師傅修理了。最好找熟人。因為**優慧,使人感到興趣

c語言:編寫一個程式,實現氣泡排序,將輸入的n個整數按降序進行排序,並輸出。

16樓:匿名使用者

#include

const int maxsize = 100;

int main() }}

for(i = 0; i < n; ++i)printf("%d ",a[i]);

printf("\n");

}return 0;}

17樓:楊必宇

如圖所示:

short:修飾int,短整型資料,可省略被修飾的int。(k&r時期引入)

long:修飾int,長整型資料,可省略被修飾的int。(k&r時期引入)

long long:修飾int,超長整型資料,可省略被修飾的int。(c99標準新增)

signed:修飾整型資料,有符號資料型別。(c89標準新增)

unsigned:修飾整型資料,無符號資料型別。(k&r時期引入)

restrict:用於限定和約束指標,並表明指標是訪問一個資料物件的唯一且初始的方式。(c99標準新增)

c語言。編寫一個氣泡排序演算法s使用指標將n個整型資料按升序排序?

18樓:小黑哎啊

#include

int main()

for(int i=0;iprintf("%d ",a[i]);

return 0;}——

容————————————————————#include

#include

#include

int main()

for(int i=0;i<5;i++)

puts(p[i]);

return 0;}

c語言 用一個函式實現用冒泡法對十個整數升序和降序排列 麻煩寫全些

19樓:聽不清啊

#include

void sort1(int a,int n)}void sort2(int a,int n){int i,j,t;

for(i=0;i

20樓:富強

main()}

21樓:匿名使用者

降序#include

#define len 10

void bubble_sort_desc(int arr, int len)

}int main(void)

升序#include

#define len 10

void bubble_sort_asc(int arr, int len)

}int main(void)

22樓:匿名使用者

void sort(int *p)}}}

在C語言中編寫程式實現從小到大排序

include int main void for i 0 i 9 i for j i 1 j 9 j if num j include include int cmp const void a,const void b int main int argc,char argv int i qsort...

用c語言編寫程式,求s1,用C語言編寫程式,求S11223nn1,直到最後一項的絕對值小於

只求從bai第二項起的浮點du 和,把第一項1作為初值zhi直接賦給和dao變數s。如內下 include stdio.h int main int argc,char argv 執行結果如下 最後一項的絕對值小於10的幾次方呀 最後問題顯示沒顯示完整 include stdio.h double ...

使用c語言編寫程式,實現計算1 2 3 4

寫主要 int sum 0 for int i 1 i 27 i 3 printf d sum c語言編寫程式計算1 2 3 4 5 6 7 8 9 10 11 12 61 62 63 64的值 include stdafx.h vc 6.0加上這一行.include stdio.h void ma...