.升序输出两组整数的差集(A一B)。
(1)从键盘输入A和B两组整数,每组均为5个整数(假设同一组内的各个整数互不重复)。(2)求两组整数的差集(A-B),即去除A组中在B 组也存在的整数。
(3)若差集不为空,则按从小到大顺序输出;若差集为空,则输出"NULL"。
说明:先输入数据A组数据,后输入B组数据。
运行示例1
输入: 12345 12678 输出: 345
运行示例2 输入: -9-81007 7010-9-8 输出: NULL
升序输出两组整数的差集(A一B)。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 乘风xs 2023-04-19 09:48关注
#include <stdio.h> int main () { //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 int A[5] = {0}; int B[5] = {0}; int ans[5] = {0}; int len = 0; printf("请依次输入A组的五个整数:"); for(int i = 0; i < 5; i++) { scanf("%d", &A[i]); } printf("请依次输入B组的五个整数:"); for(int i = 0; i < 5; i++) { scanf("%d", &B[i]); } for(int i = 0; i < 5; i++) { int flag = 1; // 标志位,判断B中有没有A[i] for(int j = 0; j < 5; j++) { if (B[j] == A[i]) { flag = 0; break; } } if (flag) { ans[len++] = A[i]; } } if (len == 0) { printf("NULL"); } else { // 对ans进行从小到大的排序 for(int i = 0; i < len; i++) { for(int j = i + 1; j < len; j++) { if (ans[j] < ans[i]) { int tmp = ans[j]; ans[j] = ans[i]; ans[i] = tmp; } } } printf("A - B 的结果为: "); for(int i = 0; i < len ;i++) { printf(" %d ", ans[i]); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作