酷代码 AI
菜单
服务商

7-5 找出不是两个数组共有的元素 分数 6 作者 张彤彧 单位 浙江大学 给定两个整型数组,本题要求找出不是两者共有的元素。 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。 输出格式: 在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。 输入样例: 10 3 -5 2 8 0 3 5 -15 9 100 11 6 4 8 2 6 -5 9 0 100 8 1 输出样例: 3 5 -15 6 4 1 用C语言解决

```c #include <stdio.h> // 检查元素是否在数组中 int isInArray(int num, int arr[], int size) { for (int i = 0; i < size; i++) { if (arr[i] == num) { return 1; } } return 0; } // 检查元素是否已在结果数组中 int isInResult(int num, int result[], int resultSize) { for (int i = 0; i < resultSize; i++) { if (result[i] == num) { return 1; } } return 0; } int main() { int arr1[20], arr2[20]; int n1, n2; int result[40]; int resultSize = 0; // 读取第一个数组 scanf("%d", &n1); for (int i = 0; i < n1; i++) { scanf("%d", &arr1[i]); } // 读取第二个数组 scanf("%d", &n2); for (int i = 0; i < n2; i++) { scanf("%d", &arr2[i]); } // 检查第一个数组中不是两者共有的元素 for (int i = 0; i < n1; i++) { if (!isInArray(arr1[i], arr2, n2) && !isInResult(arr1[i], result, resultSize)) { result[resultSize++] = arr1[i]; } } // 检查第二个数组中不是两者共有的元素 for (int i = 0; i < n2; i++) { if (!isInArray(arr2[i], arr1, n1) && !isInResult(arr2[i], result, resultSize)) { result[resultSize++] = arr2[i]; } } // 输出结果 for (int i = 0; i < resultSize; i++) { if (i > 0) { printf(" "); } printf("%d", result[i]); } printf("\n"); return 0; } ``` [2025-11-27 22:43:51 | AI问答 | 533点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多