如何用C语言进行冒泡排序,并把每一次排序的结果输出?

作者&投稿:雷周 (若有异议请与网页底部的电邮联系)
C语言如何用冒泡排序法对8个数进行从小到大排序并输出每一轮排序结果?~


代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[8]={8,5,9,1,4,2,7,6},i,j,k;
printf("OLD: ");
for(k=0;k<8;printf("%2d",a[k++]));
putchar('
');
for(i=0;i<8;i++){
for(j=0;j<7;j++)
if(a[j]>a[j+1])
k=a[j],a[j]=a[j+1],a[j+1]=k;
printf(" %d: ",i+1);
for(k=0;k<8;printf("%2d",a[k++]));
putchar('
');
}
return 0;
}

用冒泡排序法对记事本里面销售量的数据从大到小进行排序,并输出排序后的结果,可以用从文件读入数据的方法来实现的。
#include
int main()
{ char s[200];
struct
{char no[5],id[10];
int num;
float dj,je;
}a[1000],t;
int i,j,n=0;
freopen("order.txt","r",stdin);
gets(s); gets(s); //假定文件开头有2行 # 开头的非数据行
while(scanf("%s%s%d%f%f",a[n].no,a[n].id,&a[n].num,&a[n].dj,&a[n].je)==5)
n++;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j].num<a[j+1].num)
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<n;i++)
printf("%s, %s, %d, %g, %g
",a[i].no,a[i].id,a[i].num,a[i].dj,a[i].je);
fclose(stdin);
return 0;
}

#include<stdio.h>
int main()
{ int a[10], i, j, t, i1;//定义数组;
  for (i = 0; i<10; i++)
  { printf("请输入第%d次元素:",i+1);
    scanf("%d", &a[i]);//给数组赋值;
  }
  for (i = 0; i < 9; i++)  //10个数,进行9轮比较;
  { for (j = 0; j < 9 - i; j++)  //第一个数比较9次,依次递减;
    { if (a[j] > a[j + 1])  //交换值;
      { t = a[j];
        a[j] = a[j + 1];
        a[j + 1] = t;
      }
    }
    for (i1 = 0; i1<10; i1++)
    { printf("%d ", a[i1]);//输出数组的值;
    }
    printf("
");
  }
  return 0;
}


在第一个for里面第二个for外面打出来数组 这时候数组存的就是每一次的排序结果

c语言实现冒泡排序法
答:1、开启一个终端并打开vim,新建文件bubble.c。输入预处理指令#includestdio.h,用于调用printf函数 2、定义一个排序函数void sort(int *a, int n)。其中a表示待排序的数组的首地址;n表示待排序数组的长度。3、使用两层循环实现冒泡排序。其中外层控制循环的轮次;内层控制一次循环的比较位置。当相邻...

如何用C语言进行冒泡排序,并把每一次排序的结果输出?
答:include<stdio.h>int main(){ int a[10], i, j, t, i1;//定义数组; for (i = 0; i<10; i++) { printf("请输入第%d次元素:",i+1); scanf("%d", &a[i]);//给数组赋值; } for (i = 0; i < 9; i++) //10个数,进行9轮比较; { for (j = 0; ...

c语言怎么实现冒泡排序?
答:if(a<b){ t=a,a=b,b=t;} if(a<c){ t=a,a=c,c=t;} if(b<c){ t=b, b=c, c=t;} printf("%d %d %d\n",a,b,c);return 0;} 原理就是运用冒泡算法,把最大的数浮在最上面,而小的数就下沉,最后就输出。

如何使用c语言的冒泡排序功能呢?
答:1、打开Visual stdio 2019软件新建空白c文件,在源文件处右击鼠标,选择添加下面的新建项,此时会弹出窗口:2、弹出的窗口选择C++文件,将文件扩展名改为“.c”点击添加完成新建c文件,之后就可以编写程序了:3、接下来就可以编写程序了,首先最前面的部分为输入数字的部分,之后的程序会对用户输入的数字...

用c语言对整数1至50进行冒泡排序,按照每行5个数输出且升序排序
答:用c语言对整数1至50进行冒泡排序,按照每行5个数输出且升序排序  我来答 1个回答 #热议# 生活中有哪些成瘾食物?匿名用户 2018-06-02 展开全部 #include <stdio.h>void sort(int *a,int n){ int i,j,t; for(i=0;i<n-1;++i) { for(j=0;j<n-i-1;++j) { if(a[j]>a[j+1]) {...

C语言:冒泡排序法将数组中10个元素从小到大排序,并找出最小值?_百度...
答:int a[11],min=0,t;for(int i=0;i<10;i++)scanf("%d",&a[i]);min=a[0];for(int i=0;i<10;i++)if(a[i]<min)//求最小值 min=a[i];for(int i=0;i<10;i++)//冒泡排序 for(int j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1...

用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序...
答:int c[10]={1,2,3,4,13,14,15,16,2,3};int i;printf("请输入待排序的10个数:");for(i=0;i<10;i++){ scanf("%d",&a[i]);} fun(a);printf("\n排序后的数列如下:\n");for(i=0;i<10;i++){ printf("%2d ",a[i]);} /***/ wf=fopen("out.dat","w");fu...

c语言怎么做冒泡排序啊?
答:使用冒泡排序法进行编程:解释:1.第一个for循环:利用数组循环输入4个变量。2.第二个for循环:该循环的意思是如果a[0]>a[1]的话,两个变量的值交换,利用循环依次比较。要注意的是i<3,因为其中有i+1,i最大取到2,也就是i+1最大取到3才正确。3.第三个for循环:利用循环依次输出排序后的...

C语言冒泡排序法代码
答:int i, j, b, a[10]; printf("随机猜想数为:\n");for(i = 0; i < 10; i++){ a[i] = rand();printf("%d\n",a[i]);} printf("按升序排列为:\n");for(i = 0; i < 9; i++){ for(j = 0; j < 9 - i ; j++){ if(a[j] > a[j + 1]){ b = a[...

C语言编写一个带flag冒泡排序算法并打印输出比较次数和交换次数?_百度...
答:以下是C语言编写的带flag冒泡排序算法,并打印输出比较次数和交换次数的示例代码:cCopy code#include <stdio.h>void bubbleSort(int arr[], int n) { int i, j, temp, flag = 1; int cmpCount = 0, swapCount = 0; for (i = 0; i < n-1 && flag; i++) { flag = ...