时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld
题目描述
在给定的数组中删除一个数。
输入描述:
多组测试。 每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m。
输出描述:
删除在第一行的n个整数中第一次出现数字m并删除,然后按照顺序输出剩下的数。
示例1
输入
4 1 2 3 4
3
输出
1 2 4
备注:
m有可能在原数组中找不到,找不到则输出原数组。
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int a[n];
int m;
int k=-1,i;
for( i=0;i<n;i++)
{
cin>>a[i];
}
cin>>m;
for( i=0;i<n;i++)
{
if(m==a[i])
{
k=i;
break;
}
}
if(k==-1)
{
for(int j=0;j<n;j++)
{
cout<<a[j]<<" ";
}
}
if(k==i)
{
for(int i=k;i<n-1;i++)
{
a[i]=a[i+1];
}
for(int i=0;i<n-1;i++)
{
cout<<a[i]<<" ";
}
}
cout<<endl;
}
return 0;
}