C语言去除整形数组中的所有重复元素,仅保留一个元素,并将去重复后数组输出。例如数组]={4, 2, 3, 2, 1, 3},去掉重复元素后的数组为{4, 2, 3, 1} 。
时间: 2024-05-11 11:16:24 浏览: 82
您好,关于您的问题,C语言可以通过使用一个临时数组来实现去重,并将去重后的元素存放在该数组中。具体的实现步骤如下:
1. 定义一个临时数组,用于存放去重后的元素。
2. 遍历原来的数组,如果该元素没有出现过,则将其加入临时数组,并将该元素标记已出现;否则,跳过该元素,继续遍历。
3. 遍历结束后,临时数组中就是去重后的元素。将其输出即可。
下面是实现代码:
```
#include <stdio.h>
void removeDuplicates(int arr[], int n) {
int temp[n];
int seen[n];
for (int i = 0; i < n; i++) {
seen[i] = 0;
}
int j = 0;
for (int i = 0; i < n; i++) {
if (seen[arr[i]] == 0) {
temp[j++] = arr[i];
seen[arr[i]] = 1;
}
}
for (int i = 0; i < j; i++) {
printf("%d ", temp[i]);
}
}
int main() {
int arr[] = {4, 2, 3, 2, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
removeDuplicates(arr, n);
return 0;
}
```
输出结果为:
```
4 2 3 1
```
希望能够解决您的问题。
阅读全文