题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h> int main() { int arr[50] = {0}; int size = 0; int num = 0;//要删除的整数 int*p = arr; int count = 0;//记录该数字出现的次数 scanf("%d", &size); for(int i = 0; i < size; i++) { scanf("%d", &arr[i]); } scanf("%d", &num); while (p + count < arr + size) { if (*(p + count) == num) {//若遍历的数字为num,则count++,并遍历下一个数字 count++; } else {//若遍历的数字不是num,则将数字往前移count个数 *p = *(p + count); p++; } } for(int i = 0; i<size-count; i++) { printf("%d ", arr[i]); } return 0; }