编辑代码

#include <stdio.h>
#define up 1
#define down 0

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

void bubble_sort(int *a)
{
    int i,j,tmp;
    for(i=0;i<9;i++){           //冒泡排序
        for(j=i+1;j<10;j++)
        if(a[i]>a[j]){
            tmp=a[i];
            a[i]=a[j];
            a[j]=tmp;
        }  
    }
    for(i=0;i<9;i++){           //左右区别
        for(j=0;j<10-1-i;j++)
        if(a[j]>a[j+1]){
            tmp=a[j];
            a[j]=a[j+1];
            a[j+1]=tmp;
        }  
    }
}



void select_sort(int *a, int dir){
    int i,j,tmp,t,min,max;
    if(dir==down){
        for(j=0;j<10;j++){
            if(a[j]>=max){
                max=a[j]; 
            }
        }
        for(i=0;i<10;i++){          //选择排序   
            min=max;
            for(j=0;j<10-i;j++){
                if(a[j]<=min){
                    min=a[j]; 
                    t=j;
                }
            }
        tmp=a[t];
        a[t]=a[9-i];
        a[9-i]=min;
        }
    }
    else if(dir==up)
    {
        for(i=0;i<10;i++){          //选择排序   
            max=0;
            for(j=0;j<10-i;j++){
                if(a[j]>=max){
                    max=a[j]; 
                    t=j;
                }
            }
          tmp=a[t];
          a[t]=a[9-i];
          a[9-i]=max;
        }
    }
      
}

void printf_array()
{
     for(int i=0;i<10;i++){
    printf("%d",a[i]);
    }   
}

int main () {
    bubble_sort(a);
    printf_array();
    select_sort(a,down);
    printf_array();
    select_sort(a,up);
    printf_array();
	return 0;
}