.升序输出两组整数的差集(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
#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;
}