解題思路:排序的規律有兩種:一種是“升序”,從小到大;另一種是“降序”,從大到小。
原始碼演示:
#include<stdio.h>//標頭檔案 int main()//主函式 { int i,j,t;//定義整型變數 int array[10];//定義陣列大小 printf("請輸入十個數:");//提示語句 for(i=0;i<10;i++)//手動往數組裡輸入10個數 { scanf("%d,",&array[i]);//注意&符號 } for(j=0;j<9;j++)//外層迴圈限制 { for(i=0;i<9-j;i++)//記憶體迴圈 if(array[i]>array[i+1])//如果前一個數比後一個數大 { t=array[i]; //把小的數賦值給前面,大的數賦值給後面 array[i]=array[i+1]; array[i+1]=t; } } printf("按照從小到大的順序排序:");//提示語句 for(i=0;i<10;i++)//迴圈輸出10個數 { printf("%d ",array[i]); } printf("\n");//換行 return 0;//函式返回值為0 }
編譯執行結果如下:
請輸入十個數:9 8 4 1 6 2 7 4 10 9按照從小到大的順序排序:1 2 4 4 6 7 8 9 9 10--------------------------------Process exited after 20.46 seconds with return value 0請按任意鍵繼續. . .
以上就是很著名的“氣泡排序”,也稱為“起泡排序”,讀者透過此例對以後學習快速排序、堆排序等會有所啟示。
留個問題,讀者請思考從到小該如何排序呢?
最新評論