/*---------------------------------------------------------------------- 【程序设计】 ------------------------------------------------------------------------ 请编写C 代码,完成计算数组 A 与数组 B 的对称差集(即只属于 A 或者只属 于 B 的元素)。提示:可以先将数组 A 和 B 变为递增排序,然后可以使用双指 针法来高效地找到它们的对称差集。 示例1 【请输入数组 A 的大小: 】5 【请输入数组 A 的 5 个元素: 】6 5 4 3 2 【请输入数组 B 的大小: 】4 【请输入数组 B 的 4 个元素: 】7 6 3 8 【数组 A 与数组 B 的对称差集为: 】2 4 5 7 8 ------------------------------------------------------------------------ 注意:部分源程序给出如下。请勿改动主函数main 或其它函数中给出的内容,仅 在 Program-End 之间填入若干语句。 不要删除标志否则不得分。 不要修改或删除Program-End 之外的内容否则不得分。 ----------------------------------------------------------------------*/ #include void bubbleSort(int arr[], int size) { int i, j; for (i = 0; i < size - 1; i++) { for (j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换 arr[j] 和 arr[j + 1] int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int computeSymmetricDifference(int A[], int sizeA, int B[], int sizeB, int C[]) { int i = 0, j = 0, k = 0; /**********Program**********/ /********** End **********/ } int main() { int sizeA, sizeB; int i; printf("【请输入数组 A 的大小: 】"); scanf("%d", &sizeA); int A[100]; printf("【请输入数组 A 的 %d 个元素: 】", sizeA); for (i = 0; i < sizeA; i++) { scanf("%d", &A[i]); } printf("【请输入数组 B 的大小: 】"); scanf("%d", &sizeB); int B[100]; printf("【请输入数组 B 的 %d 个元素: 】", sizeB); for (i = 0; i < sizeB; i++) { scanf("%d", &B[i]); } int C[200]; // 假设结果数组最大长度为 200,为 A 和 B 长度之和 int diffSize = computeSymmetricDifference(A, sizeA, B, sizeB, C); printf("【数组 A 与数组 B 的对称差集为: 】"); for (i = 0; i < diffSize; i++) { printf("%d ", C[i]); } printf("\n"); return 0; }