问题描述
从键盘输入n个数,用冒泡法对这n个数进行排序(由小到大)。
在冒泡排序中,一共需要比较n-1趟(因为n-1个元素都归位了,剩下一个元素当然也是归位的)第一轮需比较n-1次,第二轮需比较n-2次...第n-1轮需比较1次
代码实现:
#include<stdio.h>
int main()
{
int a[100],n,i,j,t;
// 1.输入要排序的数据
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
// 2.冒泡排序的核心部分
for(i = 0;i < n-1;i++)
for(j = 0;j < n-1-i;j++)
{
if(a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
// 3.输出结果
for(i = 0;i < n;i++)
printf("%d ",a[i]);
return 0;
}