写在大一,大佬勿喷
问题描述 :输入十个数字,用冒泡排序法,从小到大依次排序
第一次见到这种排序的题目,有点懵。所以简化为 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;
}