求助,有没有大神进来看一下,这个程序看不太懂
前面的排序都看得懂,就是最后一步那个,去除重复值的有些看不太明白,求解2.}请将两个数组以降序合并排列并去重复值,例:a[4]={3,2,5,8},b[5]={4,7,6,9,2}
#include<stdio.h>
#define N 4
#define M 5
int main(void)
{
int a[N]={3,2,5,8},b[M]={4,7,6,9,2},c[N+M];
int i=0,j=0,k=0,t;
for(i=0;i<3;i++)
for(j=0;j<3-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(b[j]<b[j+1])
{
t=b[j+1];
b[j+1]=b[j];
b[j]=t;
}
}
i=j=0;
while(i<N||j<M)
{
if(!(j-M)||i<N&&a[i]>b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
if(k>1)
if(!(c[k-2]-c[k-1]))
k--;
}
for(i=0;i<k;i++)
printf("%3d",c[i]);
printf("\n");
}