您当前的位置:《c语言程序设计》听课笔记:18
《c语言程序设计》听课笔记:18
排序汽泡法
原则: 每次只找一个最小数(方便起见,从a[1]开始)
       a[1]  a[2]  a[3]  a[4]  a[5]  a[6]  a[7]  a[8]  a[9]  a[10]
         4      5      3      1      2      6      9      7     8       0   
         4      5      3      1      2      6      9      7           8
         4      5      3      1      2      6      9      0     7       8
         4      5      3      1      2      6      0      9     7       8
         4      5      3      1      2      0      6      9     7       8
         4      5      3      1      0      2      6      9     7       8
         4      5      3      0      1      2      6      9     7       8
         4      5      0      3      1      2      6      9     7       8
         4      0      5      3      1      2      6      9     7       8
 a[1]       4      5      3      1      2      6      9     7       8
以此类推将1放入a[2],2放入a[3]。。。。9放入a[10]
#include"stdio.h"
main()
{
   int a[11],i,j,t; /*i表示找第几小的数,j表示找的次数*/
   printf("please input the numbers\n");
   for(i=1; i<11; i++)
     {
      scanf("%d",&a[i]);
     }
   printf("\n");
  for(i=1; i<10; i++) /*扫描第几趟*/
   {
     for(j=10; j>i; j--)
        {
         if(a[j]<a[j-1])
            {
               t=a[j];
              a[j]=a[j-1];
              a[j-1]=t;
            }
        }
     }
printf("the arry is:\n");
for(i=1;i<11;i++)
   {
     printf("%d\n",a[i]);
    }
getch();
}
可以改进:
1、为不再有交换时,程序停止
2、可下沉、可上浮
输入无序,输出有序 
 
 
收藏状态
收藏本课程的同学
相关课程