题意就是输出B中没有的元素并按从小到大排序。
代码实现如下:
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
void paixu(int a[105],int n);
int main()
{
int n,m;
int i,j;
int a[105];
int b[105];
bool vis[105];
while(~scanf("%d %d",&n,&m)&&(n&&m))
{
memset(vis,0,sizeof(vis));
for(i=0; i<n; i++)
scanf("%d",&a[i]);
for(i=0; i<m; i++)
scanf("%d",&b[i]);
paixu(a,n);
paixu(b,m);
for( i=0; i<n; i++)
for( j=0; j<m; j++)
if(a[i]==b[j]) vis[i]=1;
bool abc=1;
for(i=0; i<n; i++)
{
if(!vis[i])
{
abc=0;
break;
}
}
if(abc)
printf("NULL");
for(i=0; i<n; i++)
{
if(!vis[i])
printf("%d ",a[i]);
}
printf("\n");
}
return 0;
}
void paixu(int a[105],int n)
{
int i,j,t;
for(j=0; j<n-1; j++)
for(i=0; i<n-1-j; i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
这道提交wr实在不知为什么但是思路是对的希望亲们指正一下