题目描述:
在给定的数组中删除一个数
输入格式:
多组测试数据。
每组第一行输入1个整数n(n<20)
每组第二行是n个整数
每组第三行输入1个整数m
输出格式:
删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数
样例输入:
4
1 2 3 4
3
样例输出:
1 2 4
约定:
提示:
m有可能在原数组中找不到,找不到则输出原数组
我的答案:
#include<iostream>
using namespace std;
int main()
{
int m,n,q=0;
cin >>n;
int a[n],b[n-1];
for(int i=1;i<=n;i++)
{
cin >>a[i];
}
cin >> m;
for(int i=1;i<=n;i++)
{
if(a[i]==m){q=i;break;}
b[i]=a[i];
}
if(q==0)
{
for(int i=1;i<=n;i++)
{
cout <<a[i]<<" ";
}
return 0;
}
for(int i=q;i<=n-1;i++)
{
b[i]=a[i+1];
}
for(int i=1;i<=n-1;i++)
{
cout <<b[i]<<" ";
}
return 0;
}