当前位置: 首页> 房产> 市场 > 外贸网络推广价格_私域平台运营分为几个步骤_厦门seo网站管理_宁波网络营销怎么做

外贸网络推广价格_私域平台运营分为几个步骤_厦门seo网站管理_宁波网络营销怎么做

时间:2025/8/3 22:39:48来源:https://blog.csdn.net/iceslime/article/details/146025223 浏览次数:0次
外贸网络推广价格_私域平台运营分为几个步骤_厦门seo网站管理_宁波网络营销怎么做

题目:通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能。集合可以用数组也可以用链表存储。
样例:

集合的交、并差

输入: A={1,2,3,4,5}        B={3,4,5,6,7}

输出 A交B={3, 4, 5}  A并B={1,2,3,4,5,6,7}  A-B={1, 2}

#include <stdio.h>
#include <stdlib.h>void input(int** arr, int* size, int* capacity) {int num;while (scanf("%d", &num) == 1 && num >= 0) {int exists = 0;for (int i = 0; i < *size; ++i) {if ((*arr)[i] == num) {exists = 1;break;}}if (exists) continue;// 对数组进行扩容if (*size >= *capacity) {int newCapacity = *capacity * 2;int* newArr = (int*)realloc(*arr, newCapacity * sizeof(int));*arr = newArr;*capacity = newCapacity;}(*arr)[(*size)++] = num;}// 清除输入缓冲区while (getchar() != '\n');
}
int main() {// 初始化集合Aint capacityA = 2;int* A = (int*)malloc(capacityA * sizeof(int));if (A == NULL) {printf("Memory allocation failed.\n");return 1;}int countA = 0;printf("A={");input(&A, &countA, &capacityA);printf("}\n");// 初始化集合Bint capacityB = 2;int* B = (int*)malloc(capacityB * sizeof(int));if (B == NULL) {printf("Memory allocation failed.\n");return 1;}int countB = 0;printf("B={");input(&B, &countB, &capacityB);printf("}\n");// 交集int inter[100], ci = 0;for (int i = 0; i < countA; ++i) {for (int j = 0; j < countB; ++j) {if (A[i] == B[j]) {inter[ci++] = A[i];break;}}}// 并集int uni[200], cu = 0;for (int i = 0; i < countA; ++i) uni[cu++] = A[i];for (int i = 0; i < countB; ++i) {int exists = 0;for (int j = 0; j < countA; ++j) {if (B[i] == A[j]) {exists = 1;break;}}if (!exists) uni[cu++] = B[i];}// 差集int diff[100], cd = 0;for (int i = 0; i < countA; ++i) {int inB = 0;for (int j = 0; j < countB; ++j) {if (A[i] == B[j]) {inB = 1;break;}}if (!inB) diff[cd++] = A[i];}printf("A交B={");for (int i = 0; i < ci; ++i) printf("%s%d", i ? ", " : "", inter[i]);printf("}\n");printf("A并B={");for (int i = 0; i < cu; ++i) printf("%s%d", i ? ", " : "", uni[i]);printf("}\n");printf("A-B={");for (int i = 0; i < cd; ++i) printf("%s%d", i ? ", " : "", diff[i]);printf("}\n");free(A);free(B);return 0;
}

关键字:外贸网络推广价格_私域平台运营分为几个步骤_厦门seo网站管理_宁波网络营销怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: