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

序列中删除指定数字

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

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务