C语言数组去重最简单的方法

C 语言中数组去重的最简单方法是使用双重循环遍历数组,对于每个元素,再遍历它之后的所有元素,如果找到了与它相等的元素,就将后面的元素向前移动一位,然后将数组长度减一。

以下是使用双重循环实现数组去重的示例代码:

#include <stdio.h>
#define MAX_SIZE 100
int main() {
    int arr[MAX_SIZE], n, i, j, k;
    printf("请输入数组长度(不超过 %d):", MAX_SIZE);
    scanf("%d", &n);
    printf("请输入 %d 个整数:", n);
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < n; i++) {
        for (j = i + 1; j < n;) {
            if (arr[j] == arr[i]) {
                for (k = j; k < n; k++) {
                    arr[k] = arr[k + 1];
                }
                n--;
            } else {
                j++;
            }
        }
    }
    printf("去重后的数组为:");
    for (i = 0; i < n; i++) {
        printf(" %d", arr[i]);
    }
    printf("\n");
    return 0;
}

以上代码中,首先从标准输入中读入数组的长度和元素值,然后使用双重循环遍历数组,对于每个元素,再遍历它之后的所有元素,找到相等的元素就将后面的元素向前移动一位,然后将数组长度减一。最后输出去重后的数组。

C语言实现数组去重的基本思路