c语言

c语言如何删除重复值并输出

小亿
211
2024-01-12 00:50:23
栏目: 编程语言

在C语言中,可以使用数组和循环来删除重复值并输出。

以下是一个示例代码:

#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 2, 5, 6, 4, 7, 8, 7, 9};  // 示例数组
    int n = sizeof(arr) / sizeof(arr[0]);  // 数组长度

    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            if (arr[i] == arr[j]) {  // 如果有重复值
                for (int k = j; k < n - 1; k++) {  // 后面的元素往前移动
                    arr[k] = arr[k + 1];
                }
                n--;  // 数组长度减1
                j--;  // 循环变量j减1,以便继续比较移动后的元素
            }
        }
    }

    printf("删除重复值后的数组为:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

运行该代码,输出结果为:

删除重复值后的数组为:1 2 3 4 5 6 7 8 9

这段代码首先定义了一个示例数组arr,并通过sizeof运算符计算出数组长度n。然后使用两层嵌套循环,依次比较数组中的元素。如果发现有重复值,就将后面的元素往前移动一个位置,并重新计算数组长度n。最后,通过循环输出删除重复值后的数组。

0
看了该问题的人还看了