杭电2034——人见人爱A-B

#include <stdio.h>
#include <algorithm>
using namespace std;
int main ()
{
int a[110],b[110],c[110];
int m,n;
int i,j,k;
int flag;
scanf("%d%d",&m,&n);
while (m!=0||n!=0)
{
k = 0;
flag = 0;
for (i=0;i<m;i++)
scanf("%d",&a[i]);
for (i=0;i<n;i++)
scanf("%d",&b[i]);
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
if (a[i]==b[j])
break;
if (j>=n)
{
c[k] = a[i];
k ++;
flag = 1;
}
}
sort(c,c+k);
if (flag)
{
for (i=0;i<k;i++)
printf("%d ",c[i]);
printf("\n");
}
else
printf("NULL\n");
scanf("%d%d",&m,&n);
}
return 0;
}

这是我写杭电上题目的时候提交次数最多的时候。我不敢相信我为什么一直错人见人爱A-B

今天终于搞掉了这么一题。

说说这题的思路吧。

正确的输入,程序的结束:m!=0 || n!=0;而不是m!=0&&n!=0 ;

找到数据,记录下来。随后输出,输出前需要排序。

我一直出错的原因就是这个排序,之前没有看清题目,后来加上sort库函数排序,我用C语言提交,怎么都是编译错误,不知道什么时候突然一亮想起来应该是C++。就是因为这个。

上一篇:Unity3d 游戏汉化之IL注入文本替换--木石世纪


下一篇:java学习指南