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

序列中删除指定数字

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

全部评论

相关推荐

微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务