题目描述
在给定的数组中删除一个数
输入
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m
输出
删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数, 最后一个数后面无空格
样例输入
4 1 2 3 4
3
样例输出
1 2 4
提示
m有可能在原数组中找不到,找不到则输出原数组
#include<stdio.h>
int main()
{
int n,m,a[20],i,k=-1,flag;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<n;i++)
{
if(a[i]==m)
{
k=i;break;
}
}
flag=0;
for(i=0;i<n;i++)
{
if(i!=k&&flag==0)
{
printf("%d",a[i]);
flag=2;
}
else if(i!=k&&flag==1)
{
printf(" %d",a[i]);
}
if(flag==2){flag=1;}
}
printf("\n");k=-1;
}
return 0;
}