描述
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。
数据范围:序列长度和序列中的值都满足1≤n≤50
输入描述:
第一行输入一个整数(0≤N≤50)。
第二行输入N个整数,输入用空格分隔的N个整数。
第三行输入想要进行删除的一个整数。
输出描述:
输出为一行,删除指定数字之后的序列。
输入:
8 1 2 3 4 5 4 4 9 4
输出:
1 2 3 5 9
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
int i;
for(i=0;i<n;i++)
{
cin>>a[i];
}
int b;
cin>>b;
for(i=0;i<n;i++)
{
if(b==a[i])
{
continue;
}
printf("%d ",a[i]);
}
}
1.我们看到在输入时会有空格,那么我们用数组的话也应有空格,但是我们可以用cin或scanf来输入,输入时他不会理会空格,只会输入你要的数字,这便于我们让数组后面的输出。
2.我们会遇到一种情况,就是你输入的内容中有多个你要删除的数字,continue可以使我们跳过后面的内容,进入下一个循环,这便会出现,假如我的a[i]与b相等,那么便不会输出,当我们遍历完所有数组时,我们不要的数字便会被删除