1293: 合并数组(排序并处理重复数据) [水题]
时间限制: 1 Sec 内存限制: 128 MB提交: 269 解决: 126 统计
题目描述
创建两个数组,分别输入数组元素个数m,n和元素,排序并处理重复数据
输入
输入两个数组元素个数m和n,
然后分别输入两个数组的各个元素。
注:1<=m,n<=10,数据在int范围内.
输出
按序输出整理后的数组,每个元素之间有一个空格。
样例输入
5
5
1 4 7 8 9
1 2 3 4 5
样例输出
1 2 3 4 5 7 8 9
解析:
首先合并两个数组,然后排序并删除重复元素。
程序如下:
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n,m;
scanf("%d%d",&n,&m);
int a[23],b[23],c[23],d[23];
int k=0;
int num=0;
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
c[k++]=a[i];
}
for(int j=0; j<m; j++)
{
scanf("%d",&b[j]);
c[k++]=b[j];
}
sort(c,c+k);
for(int i=0; i<k; i++)
{
if(c[i]!=c[i+1])
d[num++]=c[i];
}
for(int i=0; i<num; i++)
printf("%d%c",d[i],i==num-1?'\n':' ');
return 0;
}