如何用C语言实现集合合并 ,题目具体要求如下:

Input总共有两行,第一行为集合A的数据,第二行为集合B的数据。每行先输入一个数字N,为该行数据的个数,后面跟随N个数字。Output输出合并后的集合的数据,中间用空格... Input

总共有两行,第一行为集合A的数据,第二行为集合B的数据。每行先输入一个数字N,为该行数据的个数,后面跟随N个数字。

Output

输出合并后的集合的数据,中间用空格分隔。(集合B的数据如果不在集合A中,则插入在集合A的最后)。

Sample Input

3 1 2 3
3 4 5 6
Sample Output

1 2 3 4 5 6
展开
 我来答
死色黑鸟
2012-03-21 · 超过33用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:78.9万
展开全部
ACM?

写了一个简单的给你。
编译通过了,功能实现了,不过性能嘛。。。

#include <stdio.h>
#include <stdlib.h>
int contains(int a[],int length,int value) {
int i;
for(i=0;i<length;i++) {
if(a[i]==value) return length;
}
a[length]=value;
return ++length;
}
main() {
int n,m;
int a[1000],b[1000];
int i,length;
while(scanf("%d",&n)!=EOF) {
length=n;
for(i=0;i<n;i++)
scanf("%d",a+i);

scanf("%d",&m);
for(i=0;i<m;i++) {
scanf("%d",b+i);
length=contains(a,length,b[i]);
}
for(i=0;i<length;i++) {
printf("%d ",a[i]);
}
}
//system("pause");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式