C語言冒泡排序法

#include<stdio.h>
 main()
 {
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
 scanf ("%d",&a[i]);
 for(j=0;j<=9;j++)
 { for (i=0;i<10-j;i++)
if (a[i]>a[i+1])
 { temp=a[i];
 a[i]=a[i+1];
a[i+1]=temp;}
 } 
for(i=0;i<10;i++)
 printf("%d",a[i] ); 
} spa

注意(黃色部分):一、int a[10]是從a[0]到a[9],沒有a[10]; io

                         二、if(a[i]>a[i+1]),表示若是a[i]>a[i+1]爲真,a[i]與a[i+1]交換位置,因此該組數據是要求從小到大排列的。 for循環

析(藍色部分):第一個for循環(for(i=0;i<10;i++))是循環輸入10個數據;第三個for循環(for    (i=0;i<10-j;i++))嵌套在第二個for循環之中,表示每一個數據要比較9次;而第二個for循環(for(j=0;j<=9;j++))表示有9個數據要參與比較,只有一個數據等着被比較;最後一個for循環(for(i=0;i<10;i++))表示循環輸出10個數據。  循環

相關文章
相關標籤/搜索