#include<stdio.h>
#include<algorithm> //这个是sort函数的头文件
using namespace std; //好像sort函数不能在C语言中使用,这是C++里的用法
//#include<algorithm>
int main()
{
int a[101],b[101];
int n,m,i,j,t;
while(1) // 这个也是C++里
{
scanf("%d%d",&n,&m);//&&n!=0&&m!=0)
if(n==0&&m==0) break;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)
scanf("%d",&b[i]);
// sort(a,a+n);sort(b,b+m);
sort(a,a+n);sort(b,b+m); //sort函数升序
i=0,j=0,t=0;
for(;i<n&&j<m;)
{
if(a[i]<b[j])
{printf("%d ",a[i]);i++;t++;continue;}
if(a[i]>b[j])
{j++;continue;}
if(a[i]=b[j])
{i++;j++;continue;}
}
while(i<n)
{
printf("%d ",a[i]);i++;t++;
}
if(t==0) printf("NULL");
printf("\n");
}
// return 0; //C++用法没用这个
}
这个题我开始是彻底没理解题意,然后看了别人的代码才搞明白A-B的,先将A、B数升序,然后比较。就是A数若是小于B数,输出A数,然后用下一个A数与刚刚那个B数比较;若是A数大于B数,则A数不变,用下一个B数与A数比较;若是两个数相等,不输出,都走向下一位再比较;然后看A中数是否已用完,没用完再输出,还有输出多少要记录,若是一个都没输出,就输出NULL
hdu 2034 201481
最新推荐文章于 2020-04-22 10:57:00 发布