C语言新手求助这个怎么写呀

自定义一个有10个元素int类型的一维数组:然后利用选择法进行从小到大排序以及从大到小排序。
要求:
1) int类型10元素一维数组,允许事先自定义初始化
2) 请使用自定义函数实现从小到大排序
3) 请使用自定义函数实现从大到小排序
4) 请使用自定义函数实现排序后的数组输出

代码如下:

#include<stdio.h>
#include<stdlib.h>

#define N 10

void select_sort_min(int a[], int n);
void select_sort_max(int a[], int n);
void display(int a[], int n);

void display(int a[], const int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}
//选择排序实现-----从小到大
void select_sort_min(int a[], int n)//n为数组a的元素个数
{
    //进行N-1轮选择
    for (int i = 0; i < n - 1; i++)
    {

        int min_index = i;
        //找出第i小的数所在的位置
        for (int j = i + 1; j < n; j++)
        {
            if (a[j] < a[min_index])
            {
                min_index = j;
            }
        }

        //将第i小的数,放在第i个位置;如果刚好,就不用交换
        if (i != min_index)
        {
            int temp = a[i];
            a[i] = a[min_index];
            a[min_index] = temp;
        }
    }
}

//选择排序实现-----从大到小
void select_sort_max(int a[], int n)//n为数组a的元素个数
{
    //进行N-1轮选择
    for (int i = 0; i < n - 1; i++)
    {

        int max_index = i;
        //找出第i大的数所在的位置
        for (int j = i + 1; j < n; j++)
        {
            if (a[j] > a[max_index])
            {
                max_index = j;
            }
        }

        //将第i大的数,放在第i个位置;如果刚好,就不用交换
        if (i != max_index)
        {
            int temp = a[i];
            a[i] = a[max_index];
            a[max_index] = temp;
        }
    }
}

int  main()
{
    int num[N] = { 9,17,99,7,4,8,12,0,11,6 };

    printf("排序前: \n");
    display(num, N);

    select_sort_min(num, N);
    printf("从小到大排序:\n");
    display(num, N);

    select_sort_max(num, N);
    printf("从大到小排序: \n");
    display(num, N);

    return 0;
}

用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

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