.升序输出两组整数的差集(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无用
悬赏问题
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 android报错 brut.common.BrutException: could not exec (exit code = 1)
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥15 复杂网络,变滞后传递熵,FDA
- ¥20 csv格式数据集预处理及模型选择
- ¥15 部分网页页面无法显示!