题解 | #序列中删除指定数字#

序列中删除指定数字

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;
}

全部评论

相关推荐

10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务