题解 | #整型数组合并#
整型数组合并
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相同,那就不打印了。