如何用C语言,将两个数组中相同的数,组成新的数组
时间: 2024-09-26 10:11:22 浏览: 41
在C语言中,要将两个数组中相同的元素合并到一个新的数组中,可以采用以下步骤:
1. 定义新数组:首先确定新数组的大小,这应该是两个原数组的最大长度加上一(因为可能存在重复的元素)。例如,如果数组A和B的长度分别为n和m,那么新数组C的大小将是`max(n, m) + 1`。
```c
int new_array[max(n, m) + 1];
```
2. 初始化新数组:由于我们不确定哪些元素是重复的,所以新数组的初始值通常设置为0或NULL,以便后续填充。
3. 遍历数组:使用嵌套循环分别遍历两个数组。对于每个元素,检查新数组中是否已有该元素。如果没有,就添加到新数组并更新索引。
```c
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (array_A[i] == array_B[j]) {
if (new_array[new_array_count] != array_A[i]) { // 新数组中还没有这个元素
new_array[new_array_count++] = array_A[i]; // 添加到新数组
}
break; // 只需要找到一次就跳出内层循环
}
}
}
```
4. 结束条件:注意检查`new_array_count`,当它达到新数组的大小时,说明所有可能的重复元素都已处理完毕,可以直接结束循环。
5. 返回结果:最后返回包含相同元素的新数组,直到`new_array_count`位置(不包括`new_array_count`本身,因为它代表了数组的实际长度,而非最后一个元素的索引)。
```c
return new_array, new_array_count;
```
阅读全文