如何删除一个数组中相同的元素c语言
时间: 2023-08-14 09:03:44 浏览: 288
在 C 语言中,可以使用双重循环遍历数组,找到相同的元素并删除。具体步骤如下:
1. 定义一个新的数组,用来存储不重复的元素。
2. 使用双重循环遍历原数组,比较每个元素是否与其他元素相同。
3. 如果相同,则删除其中一个元素。
4. 将不重复的元素存储到新数组中。
下面是一个示例代码:
```c
#include <stdio.h>
void removeDuplicates(int arr[], int n)
{
int i, j, k;
for(i = 0; i < n; i++)
{
for(j = i+1; j < n; j++)
{
if(arr[i] == arr[j])
{
for(k = j; k < n; k++)
{
arr[k] = arr[k+1];
}
n--;
j--;
}
}
}
}
int main()
{
int arr[] = {1, 2, 3, 4, 2, 3, 5, 6, 4};
int n = sizeof(arr) / sizeof(arr[0]);
removeDuplicates(arr, n);
printf("Array after removing duplicates: ");
for(int i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Array after removing duplicates: 1 2 3 4 5 6
```
注意:这种方法只能删除相邻的重复元素,如果有多个相同的元素不相邻,则需要多次遍历数组。另外,这种方法会改变数组的顺序,如果要保持原数组的顺序,则需要使用其他方法。