#include <stdio.h>
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF&&!(n==0&&m==0))
{
int i,j,t,flag=0,a[101],b[101],c[101]={0};
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)
scanf("%d",&b[i]);
for(i=1;i<n;i++)
{
t=a[i];
for(j=i;j>0;j--)
{
if(t<a[j-1])
a[j]=a[j-1];
else
break;
}
a[j]=t;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(a[i]==b[j])
break;
if(j>=m)
c[flag++]=a[i];
}
if(flag==0)
printf("NULL");
else
{
for(i=0;i<flag;i++)
printf("%d ",c[i]);
}
printf("\n");
}
return 0;
这道题目中,for(j=i;j>0;j--)
{
if(t<a[j-1])
a[j]=a[j-1];
else
break;
}
这里和这里
if(j>=m)
c[flag++]=a[i];
}
是什么意思?
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF&&!(n==0&&m==0))
{
int i,j,t,flag=0,a[101],b[101],c[101]={0};
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)
scanf("%d",&b[i]);
for(i=1;i<n;i++)
{
t=a[i];
for(j=i;j>0;j--)
{
if(t<a[j-1])
a[j]=a[j-1];
else
break;
}
a[j]=t;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
if(a[i]==b[j])
break;
if(j>=m)
c[flag++]=a[i];
}
if(flag==0)
printf("NULL");
else
{
for(i=0;i<flag;i++)
printf("%d ",c[i]);
}
printf("\n");
}
return 0;
这道题目中,for(j=i;j>0;j--)
{
if(t<a[j-1])
a[j]=a[j-1];
else
break;
}
这里和这里
if(j>=m)
c[flag++]=a[i];
}
是什么意思?