用c语言写出冒泡排序函数,C语言中冒泡排序

用c语言编写冒泡排序算法

#includestdio.h

竞秀网站建设公司创新互联公司,竞秀网站设计制作,有大型网站制作公司丰富经验。已为竞秀超过千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的竞秀做网站的公司定做!

void main(){

int i,j,score[10],count=0,temp,sum=0;

double avg;

for(i=0;i10;i++){ //输入10个学生的成绩,并求着10个学生的成绩总和

printf("请输入第%d个学生的成绩:",(i+1));

scanf("%d",score[i]);

sum+=score[i];

}

avg=sum*1.0/10; //求着这10个学生成绩的平均值

for(i=0;i10;i++){ //统计小于平均分的学生人数

if(score[i]avg){

count++;

}

}

for(i=0;i10;i++){ //使用冒泡排序对这10个学生的成绩逆序排序

for(j=0;j9-i;j++){

if(score[j]score[j+1]){

temp=score[j];

score[j]=score[j+1];

score[j+1]=temp;

}

}

}

printf("最高成绩:%d分,平均成绩:%.2f分,低于平均成绩的人数是:%d人!\n",score[0],avg,count);

}

C语言冒泡排序

C语言冒泡排序法的排序规则:将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。初始 R[1..n]为无序区。第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key void sort(int *a,int len) {int i=0; int j; int t; for(i=0;ia[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } } int main(int argc, char *argv[]) { int a[10]={ -999,2,3,77,12,88,0,-8,99,100 }; int i=0; sort(a,10); for(i=0;i10;i++) { printf("%d ",a[i]); } return 0; }

C语言冒泡排序。

#includestdio.h

void main()

{

int a[10];

int i,j,t;

printf("input 10 numbers:\n");

for(i=0;i10;i++)

scanf("%d",a[i]);

for(j=0;j9;j++) /*进行9次循环 实现9趟比较*/

for(i=0;i9-j;i++) /*在每一趟中进行9-j次比较*/

if(a[i]a[i+1]) /*相邻两个数比较,想降序只要改成a[i]a[i+1]*/

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("the sorted numbers:\n");

for(i=0;i10;i++)

printf(" %d",a[i]);

}

扩展资料:

冒泡排序算法的运作

1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。

3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。

4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。

简单的表示

#include stdio.h

void swap(int *i, int *j)

{

int temp = *i;

*i = *j;

*j = temp;

}

int main()

{

int a[10] = {2,1,4,5,6,9,7,8,7,7};

int i,j;

for (i = 0; i 10; i++)

{

for (j = 9; j i; j--)//从后往前冒泡

{

if (a[j] a[j-1])

{

swap(a[j], a[j-1]);

}

}

}

for (i = 0; i 10; i++)

{

printf("%d\n", a[i]);

}

return 0;

}

参考资料来源:冒泡排序-百度百科


当前标题:用c语言写出冒泡排序函数,C语言中冒泡排序
标题网址:http://myzitong.com/article/dscjogp.html