for語句可能用來實現冒泡排序法。
具體而言,冒泡排序法須要經由過程兩重輪返來實現:外層輪回把持排次序數,內層輪回把持比較跟交換。
重要的過程如下:1. 從第一個元素開端,與相鄰的後一個元素比較大小,若前一個元素大年夜於後一個元素,則將兩個元故舊換地位;2. 重複上一步,直到最後一個元素,最後一個元素是以後最大年夜的數;3. 順次增加比較的數量,直到比較結束為止。
因此,經由過程for語句的嵌套輪回,可能在C言語中實現冒泡排序法,實現對一個數組停止排序。
實現過程:
(1) 經由過程兩個 for 輪回實現冒泡排序的全過程,外層 for 輪回決定冒泡排序的趟數,內層 for 輪回決定每趟所停止兩兩比較的次數。
(2) 順序代碼如下:
#include <stdio.h>
int main()
{
int i,j,t,a[11]; //定義變數及數組為基本整型
printf("請輸入10個數:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]); //從鍵盤中輸入10個數
for(i=1;i<10;i++) //變數i代表比較的趟數
for(j=1;j<11-i;j++) //變最j代表每趟兩兩比較的次數
if(a[j]>a[j+1])
{
t=a[j]; //產利用旁邊變童實現兩值調換
a[j]=a[j+1];
a[j+1]=t;
}
printf("排序後的次序是:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]); //將胃泡排序後的次序輸出
printf("\n");
return 0;
}
運轉成果:
請輸入10個數:
66 32 23 45 25 5 15 69 46 37
排序後的次序是:
5 15 23 25 32 37 45 46 66 69。