题解 | #序列中删除指定数字#
序列中删除指定数字
https://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7
#include <stdio.h> void move(int a[],int N,int n) { for(int i=0;i<N;i++) { if(a[i]==n) { for(int j=i;j<N;j++) { a[j]=a[j+1]; } N=N-1; move(a,N,n); } } } int main() { int N; int a[50]; scanf("%d",&N); for(int i=0;i<N;i++) { scanf("%d",&a[i]); } int n; scanf("%d",&n); int s=0; int M=N; int A=0; for(int i=0;i<N;i++) { if(a[i]==n) A=A+1; } for(int i=0;i<N;i++) { if(a[i]==n) { s=s+1; if(i==N-1&&s==0) { for(int i=0;i<N-1;i++) { printf("%d ",a[i]); } return 0; } } } if(s==0) { for(int i=0;i<N;i++) { printf("%d ",a[i]); } return 0; } move(a,N,n); for(int i=0;i<M-A;i++) { printf("%d ",a[i]); } return 0; }