注意n,m中有一个为零一个不为零的情况的处理。
#include<stdio.h>
int main()
{
int a[100],b[100];
int i,n,m,j;
int te,q,w,t1,t2,t3,t4;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==0&&m==0)
break;
if(n==0)
{
for(i=0;i<m;i++)
scanf("%d",&b[i]);
printf("NULL\n");
}
else
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++)
for(j=0;j<n-1;j++)
{
if(a[j]>a[j+1])
{
te=a[j];
a[j]=a[j+1];
a[j+1]=te;
}
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(a[i]==a[j]&&i!=j)
{
printf("NULL\n");
i=n,j=n,t3=1;
}
}
if(t3!=1)
{
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
if(b[i]==b[j]&&i!=j)
{
for(q=0;q<n;q++)
{
printf("%d ",a[q]);
if(q==n-1)
{
printf("\n");
j=m,i=m,t1=1;
}
}
}
}
if(t1!=1)
{
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if((a[i]-b[j])==0)
{
a[i]=-1;
}
}
}
te=0;
for(i=0;i<n;i++)
{
if(a[i]==-1)
te++;
}
if(te==n)
{
printf("NULL\n");
t2=1;
}
if(t2!=1)
{
for(i=0;i<n;i++)
{
if(a[i]!=-1)
{
printf("%d ",a[i]);
}
if(i==n-1)
printf("\n");
}
}
}
}
}
t1=0,t2=0,t3=0,t4=0;
}
return 0;
}