编辑代码

#include <stdio.h>
int ASC_F(int a, int b);
int DES_F(int a, int b);
void sort(int num[], int n, int (*fun)(int a, int b));
void Dy(int num[], int n);

int main () {
    int nums[6] = {12,1,5,48,56};
    sort(nums, 5, ASC_F);
    Dy(nums,5);
    sort(nums, 5, DES_F);
    Dy(nums,5);
	return 0;
}

void sort(int num[], int n, int (*fun)(int a, int b)){
    for(int i = 0; i < n-1; i++){
        int k = i;
        for(int j = i+1; j < n; j++){
            if((*fun)(num[k], num[j])){
                k = j;
            }
        }
        if(k != i){
            int temp = num[k];
            num[k] = num[i];
            num[i] = temp;
        }
    }
}


int ASC_F(int a, int b){
    return a > b;
}

int DES_F(int a, int b){
    return a < b;
}

void Dy(int num[], int n){
    for(int i=0; i<n; i++){
        printf("%d ",num[i]);
    }
    printf("\n");
}