冒泡排序

  /*
    需求:
        使用“冒泡”排序进行数字排序
        从小到大进行排序
        
    思路:
        每一次循环找到最大的那个数,放在最后,循环的次数等于数字的个数减1 
        当前位于下一位进行比较,如果当前数比后一个数大,那么就交换两个数的位置
    */
#include<stdio.h>
#define LEN 10    //定义数组长度常量 
int main()
{
    int a[LEN];
    int i, j, t;
    
    //用户输入数字 
    printf("Please enter  the %d integer:\n", LEN);
    for(i = 0; i < LEN; i++)
        scanf("%d", &a[i]);
    
    //排序    
    for(i = 1; i < LEN; i++)    //需要循环数字的个数-1 
    {
        for(j = 0; j < LEN-i; j++)    //对每一个数字进行比较 
            if(a[j] > a[j+1])    //如果左边的数字比右边的数字大,两个数字位置交换 
            {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
    }
    
    //输出 
    for(i = 0; i < LEN; i++)
        printf("%d  ", a[i]);
    
    return 0;
}

posted @ 2016-02-23 10:59  Rancvl  阅读(178)  评论(0编辑  收藏  举报