题解 | #序列中删除指定数字# #函数
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h> #include <stdlib.h> int* delete(int *arr,int b,int n) { int *arr2 =(int*)malloc(sizeof(int)*50); int i,sum = 0; for(i = 0;i<n;i++) { if(*(arr+i)!=b) { *(arr2+sum) = *(arr+i); sum++; } } *(arr2+sum) = -1; return arr2; } int main() { int i, n, b; int *arr = (int*)malloc(n*sizeof(int)); scanf("%d",&n); for(i = 0;i<n;i++) scanf("%d",arr+i); scanf("%d",&b); arr = delete(arr,b, n); int sum =0; i = 0; while(*(arr+i)!=-1) { i++; sum++; } for(i=0;i<sum;i++) printf("%d ",*(arr+i)); return 0; }