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

序列中删除指定数字

http://www.nowcoder.com/practice/7bbcdd2177a445a9b66da79512b32dd7

#include <stdio.h>

int main()
{
    int n = 0;
    int arr[50] = { 0 };
    int k = 0; //要删除的数字
    //输入
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &k);

    //删除
    int i = 0; //作为遍历数组的下标
    int j = 0; //作为存储数组元素的下标
    int cnt = 0; //记录删除的元素个数
    while (i < n)
    {
        if (arr[i] != k)
        {
            arr[j++] = arr[i++];
        }
        else
        {
            //删除成功
            i++;
            cnt++;
        }
    }
    //输出 - 最后数组中元素个数为j
    for (int i = 0; i < j; i++)
    {
        printf("%d ", arr[i]);
    }

    return 0;
}
编程初学者入门训练 文章被收录于专栏

针对编程初学者入门训练130题的代码详解专栏,内附注释方便理解,牛客130题的代码均用C语言实现,方便初学者学习。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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