题目描述
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。
输入描述:
第一行输入一个整数(0≤N≤50)。

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

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

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

解题思路
两个数组,第一个数组a,保存原始数据,b数组存入删除后的数据,将a中的元素和指定删除数字对比,不相等就存进b数组。

代码

#include<iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;//输入第一个参数,也就是要输入的数的个数
    int k=0;
    int a[n+1];//防止索引越界,数组定义大一些
    int b[n+1];
    for(int i=0;i<n;++i)
        cin>>a[i];//依次输入数组a的n个数
    int d;
    cin>>d;//输入要删除的数字
    for(int j=0;j<n;++j)
        if(a[j]!=d)//如果不是要删除的数字
            b[k++]=a[j];//存进数组b
    for(int m=0;m<k;++m)
        cout<<b[m]<<" ";
    return 0;
}