题解 | #整型数组合并#
整型数组合并
https://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b
#include <stdio.h>
#include <stdlib.h>
int arr[10000]={0};
void qSort(int *num,int n)
{
int i,j,tem;
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
if(num[j]>=num[j+1])
{
tem=num[j];
num[j]=num[j+1];
num[j+1]=tem;
}
}
}
}
int main() {
int a, b;
while (scanf("%d", &a) != EOF) {
// int num1[a];
for(int i=0;i<a;i++)
{
scanf("%d",&arr[i]);
}
scanf("%d",&b);
// int res[a+b];
// int num2[b];
for(int i=a;i<b+a;i++)
scanf("%d",&arr[i]);
qSort(arr, a+b);
for(int i=0;i<=a+b+1;i++)
if(arr[i]!=arr[i+1])
printf("%d", arr[i]);
// printf("\n%d", getLength(num1));
}
return 0;
}
使用数组的时候,注意数组越界。
在某些时候,对数组的输出可以施加条件将不需要输出的元素筛选掉,例如本题就可以先将数组合并、排序,然后重复的数组元素就会集中挨在一起,这时候给限制相同的元素只能打印一个,也就是说如果i元素与i-1相同,那就不打印了。
查看11道真题和解析