c去除整形数组中的所有重复元素,仅保留一个元素,并将去重复后数组输出。例如数组]
时间: 2023-09-01 12:02:42 浏览: 128
C 语言去除整型数组中的重复元素,保留一个元素,并将去重后的数组输出可以使用如下的方法:
1. 声明一个新的数组 `newArr`,用于存储去重后的元素。
2. 遍历给定的整型数组,对于每个元素,判断是否已经在 `newArr` 中。
3. 如果元素已经在 `newArr` 中,则跳过该元素。
4. 如果元素不在 `newArr` 中,则将该元素添加到 `newArr` 的末尾。
5. 遍历完整个数组后,`newArr` 即为去重后的数组。
下面是一个具体的示例代码实现:
```c
#include <stdio.h>
// 定义一个函数,用于去除整型数组的重复元素
void removeDuplicates(int arr[], int n) {
// 定义一个新的数组,用于存储去重后的元素
int newArr[n];
int newSize = 0; // 去重后的数组的大小
// 遍历原数组,对于每个元素,判断是否已经在新数组中
for (int i = 0; i < n; i++) {
int isDuplicate = 0; // 标志位,用于判断当前元素是否为重复元素
// 遍历新数组,判断当前元素是否已经在新数组中
for (int j = 0; j < newSize; j++) {
if (arr[i] == newArr[j]) {
isDuplicate = 1; // 当前元素为重复元素
break;
}
}
// 如果当前元素不是重复元素,则将其添加到新数组中
if (isDuplicate == 0) {
newArr[newSize] = arr[i];
newSize++;
}
}
// 输出去重后的数组
printf("去重后的数组为:");
for (int i = 0; i < newSize; i++) {
printf("%d ", newArr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 2, 3, 3, 3, 4, 5, 5};
int size = sizeof(arr) / sizeof(int);
removeDuplicates(arr, size);
return 0;
}
```
以上代码输出的结果为 "去重后的数组为:1 2 3 4 5"。
阅读全文