题解 | #整型数组合并#
整型数组合并
https://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b
#include <stdio.h> int sortstr(int a[], int n) { for (int i = 1; i < n; i++) { for (int j = 0; j < n - i; j++) { if (a[j] > a[j + 1]) { int t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } int i, k = 0; for (i = 1; i < n; i++) { if (a[i] != a[k]) { k++; a[k] = a[i]; } } return k + 1; } int main() { int n, m; int a[1000], b[1000], c[2000]; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); for (int j = 0; j < m; j++) { scanf("%d", &b[j]); } n = sortstr(a, n); m = sortstr(b, m); int i = 0, j = 0, k = 0; while (i < n && j < m) { if (a[i] < b[j]) { c[k] = a[i]; k++; i++; } else { if (a[i] == b[j]) { c[k] = a[i]; k++; i++; j++; } else { c[k] = b[j]; k++; j++; } } } while (i < n) { c[k] = a[i]; i++; k++; } while (j < m) { c[k] = b[j]; j++; k++; } for (int l = 0; l < k; l++) { printf("%d", c[l]); } return 0; }