在给定的数组中删除一个数
输入
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m
输出
删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数
样例
输入
4 1 2 3 4 3
1 2 4
提示
m有可能在原数组中找不到,找不到则输出原数组
//这道题读题很重要
//n表示多少个数,数组表示输入的数,m代表要输入的数
#include <bits/stdc++.h>
using namespace std;
int a[110];
int main()
{
//删数其实并不需要删数,只是碰到那个数字式不要打印就可以了
int n;
int m;
//用while是因为题目要求是多组数据
while(scanf("%d",&n)==1)
{
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
int flag=0;
for(int i=1;i<=n;i++)
{
//题目要求第一次出现的数,所以要用flag
if(a[i]==m&&flag==0)//这个数等于m而且是第一次出现的数
{
flag++;
//之后就不用管它了,它不会打印
}
else
{
//其他情况,打印出那个数字
printf("%d ",a[i] );//注意,这里要加空格,而且由于是多组数据,要换行
}
}
printf("\n");//要在外面换行,否则就会每打印一个就换一次行
}
return 0;
}