1.有10個地區(qū)的面積,要求他們按從小到大的順序排列。
?設計思路:
這種問題稱為排序(sort)。
排序有兩種;
1.升序,從小到大排列
2.降序,從大到小排列。
排序有很多種方法。是一種基本的,很重要的算法。本例采用:冒泡法排序(又稱起泡法排序)。
“冒泡法排序”的設計思路是:每次將相鄰兩個數(shù)比較,將小的調到前頭。
如果有n個數(shù),則要進行n-1趟比較。在第一趟比較中要進行n-1次兩兩比較,在第n趟比較中要進行n-j次兩兩比較。
代碼:
#include <stdio.h>
int main()
{
? int i,j,t;
? int a[10];
? printf("input 10 numbers: \n");
? for(i=0;i<10;i++)
? scanf("%d",&a[i]);
? printf("\n");
? for(j=0;j<9;j++) //進行9次循環(huán),實現(xiàn)9趟比較
for(i=0;i<9-j;i++) //在每一趟中進行9-j次比較
if(a[i]>a[i+1]) //相鄰兩個數(shù)比較
{
? t=a[i];
? a[i]=a[i+1];
? ? ? ? ? a[i+1]=t;
}
printf("the sorted numbers: \n"); //輸出
for(i=0;i<10;i++)
printf("%d",a[i]);
return 0;
}
結果展示:
