C语言编程求助,求代码

读入20个整型数据,将这20个数前面十个升序排序,后面十个降序排序,输出排序后的结果。求代码

思想方法:
1.把20个数据放入到数组里面去。
2.20个数据属于少量数据,用冒泡排序升序排列即可。
3.在此升序数组中,后面10个数据,第11个和第20个SWAP,第12个和第19个SWAP。。。。第15个和第16个交换。
此方法,不适用于大数据

 #include<stdio.h>
int a[20];
int main()
{
    for(int i=0; i<20; i++) scanf("%d",&a[i]);
    for (int j=0; j<9; j++)
        for (int i=0; i<8-j; i++)
        {
            if(a[i]>a[i + 1])
            {
                int temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    for (int j=10; j<19; j++)
        for (int i=10; i<19-j+10; i++)
        {
            if(a[i]<a[i+1])
            {
                int temp = a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    for(int i=0; i<20; i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

20个数,升序排,放数组里,取后面10个在降序排放升序的数组就OK