#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個數據。 循環