当前位置: 代码迷 >> 综合 >> 7.3 用起泡法对10个数排序(由小到大)
  详细解决方案

7.3 用起泡法对10个数排序(由小到大)

热度:32   发布时间:2023-12-08 05:20:37.0

7.3 用起泡法对10个数排序(由小到大)

#include<stdio.h>
int main()
{int a[10],i,j,temp;for(i=0;i<10;i++){printf("请输入a[%d]=",i);scanf("%d",&a[i]);fflush(stdin);}printf("排序前:");for(i=0;i<10;i++){printf("a[%d]=%d ",i,a[i]);}printf("\n");for(i=9;i>=0;i--){for(j=0;j<=i-1;j++){if(a[j+1]<a[j]){temp=a[j+1];a[j+1]=a[j];a[j]=temp;}}}printf("排序后:");for(i=0;i<10;i++){printf("a[%d]=%d ",i,a[i]);}return 0;
}

几天后又写了一次5个数字的:

#include<stdio.h>//用冒泡法对5个数排序(由小到大)
int main()
{int a[5],i,j,temp;for(i=0;i<5;i++){printf("请输入a[%d]=",i);scanf("%d",&a[i]);fflush(stdin);}printf("排序前:");//排序前for(i=0;i<5;i++) {printf("a[%d]=%2d ",i,a[i]);}printf("\n");for(i=0;i<5;i++)for(j=0;j<4-i;j++){if(a[j+1]<a[j]) {temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}printf("排序后:");//排序后 for(i=0;i<5;i++){printf("a[%d]=%2d ",i,a[i]);}printf("\n");return 0;
}