牛客的一道题(C)序列中删除指定数字

时间:2024-03-29 21:52:07

描述:

有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。

数据范围:序列长度和序列中的值都满足1<=n<=50

输入描述:

第一行输入一个整数(1≤N≤50)。

第二行输入N个整数,输入用空格分隔的N个整数。

第三行输入想要进行删除的一个整数。

输出描述:

输出为一行,删除指定数字之后的序列。

输入:

6
1 2 3 4 4 5 9
4

输出:

1 2 3 5 9

题解:

其实这道题挺简单的,只是自己还是写题太少,总的来说还是菜

先输入一个数组长度N,然后用for循环把每个数输入,然后输入一个要删除的数count

最后用for循环遍历除count以外的数然后输出

注意这里是最妙的地方:用continue跳出现的count

代码实现:

int main()
{
    int N = 0;//数组长度
    scanf("%d", &N);
    int arr[50] = { 0 };
    int count = 0;
    for (int i = 0; i < N; i++)
    {
        scanf("%d ", &arr[i]);
    }
    scanf("%d", &count);//要删除的数
    for (int i = 0; i < N; i++)
    {
        if (arr[i] == count)
            continue;
        printf("%d ", arr[i]);
    }
    return 0;
}