c语言训练题,只学到数组,如何解出

试着写一个程序,具体内容如下:

建立两个整型数组(int n;scanf(“%d”,&n);int a[n]),将其合并,对他们进行(降序排序),去掉相同项,

输出处理过后的数组。

先合并到一个新数组,合并过程中进行去重,然后再排序

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