已按升序排列的数组合并

程序将两个已按升序排列的数组合并成一个升序数组。两个数组中重复的数只保存一次。用c++该怎么写啊,刚学了两课时数组


#include<stdio.h>
#include<string.h>
#include<math.h>

void bin(int n,int a[],int m,int b[])
{
    int c[200];
    int i,j;
    for(i=0;i<n;i++)
    {
        c[i]=a[i];
    }
    for(i=n;i<n+m;i++)
    {
        c[i]=b[i-n];
    }
    for(i=0;i<m+n;i++)
    {
        for(j=0;j<m+n;j++)
        {
            if(c[i]<c[j])
            {
                int t;
                t=c[i];
                c[i]=c[j];
                c[j]=t;
            }
        }
    }
    for(i=0;i<n+m;i++)
    {
        printf("%4d",c[i]);
    }
}

int main()
{
    int a[100],b[100];
    int m,n;
    printf("Enter n: ");
    scanf("%d",&n);
    printf("Enter %d integers: ",n);
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("Enter m: ");
    scanf("%d",&m);
    printf("Enter %d integers: ",m);
    for(i=0;i<m;i++)
    {
        scanf("%d",&b[i]);
    }
    bin(n,a,m,b);
    return 0;
}