寫在大一,大佬勿噴
問題描述 :輸入十個數字,用冒泡排序法,從小到大依次排序
第一次見到這種排序的題目,有點懵。所以簡化爲 5個數字排序
寫出例子
從小到大
8 5 4 6 3
第一趟循環
5 4 6 3 8
第二遍排序
5 4 3 6 8
第三趟排序
4 3 5 6 8
第四趟排序
3 4 5 6 8
可見輸入n 個數字 排序 n-1次
而每趟排序都進行了至少一次的比較
因此,我們需要兩個循環,才能完成10個數字的比較
下面是源碼:
#include<stdio.h>
int main()
{
int i,j,t,a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}
return 0;
}