例23:C語言實現從小到大對10個數進行排序,要求使用冒泡排序實現。
解題思路:排序的規律有兩種:一種是“升序”,從小到大;另一種是“降序”,從大到小。
源代碼演示:
#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 請按任意鍵繼續. . .
以上就是很著名的“冒泡排序”,也稱為“起泡排序”,讀者通過此例對以后學習快速排序、堆排序等會有所啟示。
留個問題,讀者請思考從到小該如何排序呢?