解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int n, m;
while (~scanf("%d %d", &n, &m)) //输入n,m
{
int a[n+m+1],b[m]; //定义数组,后面将b加到a后面所以a的大小设为m+n
int i, k = 0, j, t = 0;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < m; i++)
scanf("%d", &b[i]);
for (i = n; i < m + n; i++)
a[i] = b[k++]; //将b加到a后面
for (i = 0; i < n + m - 1; i++) //冒泡排序使a中的数从小到大排列
{
for (j = 0; j <= n + m - i - 2; j++)
{
if (a[j] > a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (i = 0; i < n + m - 1; i++) //查重 如果重复将后面的赋为-1,注意:不能赋为0
{
for (j = i + 1; j < n + m; j++)
if (a[j] == a[i])
a[j] = -1;
}
for (i = 0; i < m + n; i++) //输出
if (a[i]!=-1)
printf("%d ", a[i]);
printf("\n");
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复