C语言----冒泡排序
从键盘中随机输入n个数,用冒泡排序使n个数从小到大排列输出:
#include<stdio.h>
#define N 100
int j,i,n,temp;
int number[N];
int main(){
printf("需要给几个数排序?");
scanf("%d",&n);
printf("请输入%d个数\n",n);
for(i=0;i<n;i++) {
scanf("%d",&number[i]);
}
for(j=0;j<n-1;j++)
{
for(i=0;i<n-j-1;i++)
{
if(number[i]>number[i+1])
{
temp=number[i];
number[i]=number[i+1];
number[i+1]=temp;
}
}
}
printf("排好的数据为:\n");
for(i=0;i<n;i++)
printf("%5d",number[i]);
return 0;
}
(1) j 表示比较n个数时比较的趟数,最多n-1趟,因为不用跟自己比较所以少了一趟
(2)i表示每一趟中数值需要比较的次数,每一趟都会少一个数比较
运行结果>>