要去掉數組中的重復元素,可以使用雙重循環遍歷數組,比較每一個元素與后面的元素是否相等,如果相等則刪除后面的元素。以下是一個示例代碼:
#include <stdio.h>
void removeDuplicates(int arr[], int size)
{
int i, j, k;
// 遍歷數組中的每一個元素
for (i = 0; i < size; i++) {
// 查找后面的元素是否與當前元素相等
for (j = i + 1; j < size;) {
if (arr[j] == arr[i]) {
// 如果相等,則將后面的元素往前移動
for (k = j; k < size - 1; k++) {
arr[k] = arr[k + 1];
}
size--; // 數組長度減1
} else {
j++; // 繼續查找下一個元素
}
}
}
}
int main()
{
int arr[] = {1, 2, 3, 1, 2, 4, 5, 6, 2, 7};
int size = sizeof(arr) / sizeof(arr[0]);
removeDuplicates(arr, size);
// 打印去重后的數組
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
輸出結果為:1 2 3 4 5 6 7