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)}}} 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... 只求從bai第二項起的浮點du 和,把第一項1作為初值zhi直接賦給和dao變數s。如內下 include stdio.h int main int argc,char argv 執行結果如下 最後一項的絕對值小於10的幾次方呀 最後問題顯示沒顯示完整 include stdio.h double ... 寫主要 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...在C語言中編寫程式實現從小到大排序
用c語言編寫程式,求s1,用C語言編寫程式,求S11223nn1,直到最後一項的絕對值小於
使用c語言編寫程式,實現計算1 2 3 4