建两个整型数组将其合并,对他们进行降序排序,去掉相同项,
输出处理过后的数组。
首先第一行输入第一个数组中的长度 n ,然后输入 n 个整型数;然后在第二行输入第二个数组中的长度 m ,然后输入 m 个整型数;
输出降序排列,并且去掉多余元素后的数组。
求解答,用c语言解答这个问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
qzjhjxj 2022-11-24 16:26关注供参考:
#include <stdio.h> #define N 30 int main() { int i, j, k, t, n, m, a[N], b[N], c[N + N]; scanf("%d", &n); //输入n,及 n 个整数 for (i = 0; i < n; i++) { scanf("%d", &a[i]); c[i] = a[i]; } scanf("%d", &m); //输入m,及 m 个整数 for (k = i, i = 0; i < m; i++) { scanf("%d", &b[i]); c[k++] = b[i]; } for (i = k - 1; i > 0; i--) //降序排序 { for (j = 0; j < i; j++) { if (c[j] < c[j + 1]) t = c[j], c[j] = c[j + 1], c[j + 1] = t; } } for (i = 0, j = 0, t = c[i]; i < k; i++) //去重 { if (c[i] - t || i == 0) c[j++] = c[i]; t = c[j - 1]; } for (i = 0; i < j; i++) printf("%d ", c[i]); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报