C言語で特定の固定数を削除する方法

C言語で値を定数で削除する手順は次のとおりです。

  1. 指定数の削除後の結果を格納する、新しい配列を作成する。
  2. 元の配列を走査し、指定された数でない要素を新しい配列にコピーする。
  3. 元の配列のサイズを更新し、新しい配列の要素を元の配列にコピーする。

サンプルコードを以下に示します。

#include <stdio.h>

void deleteValue(int arr[], int n, int value) {
    int i, j;
    int newSize = 0;

    // 遍历原始数组,将不等于指定数的元素复制到新数组中
    for (i = 0; i < n; i++) {
        if (arr[i] != value) {
            arr[newSize] = arr[i];
            newSize++;
        }
    }

    // 更新原始数组的大小
    n = newSize;

    // 打印删除指定数后的数组
    printf("删除 %d 后的数组为:", value);
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    int value = 3;

    deleteValue(arr, n, value);

    return 0;
}

3 を削除した後の配列は次のとおりです: 1 2 4 5

bannerAds