C言語で特定の固定数を削除する方法
C言語で値を定数で削除する手順は次のとおりです。
- 指定数の削除後の結果を格納する、新しい配列を作成する。
- 元の配列を走査し、指定された数でない要素を新しい配列にコピーする。
- 元の配列のサイズを更新し、新しい配列の要素を元の配列にコピーする。
サンプルコードを以下に示します。
#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