c++ 一维数组删除某数

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:02:47
想的是输入某数,如果在数组内,就把它删除并输出剩下的数,如果不在就输出no

帮我修改一下下面的程序...纠结了很久不知道怎么改了...

#include<iostream>
using namespace std;
int main()
{
int num,i;
int a[11]={2,34,54,223,87,5,9,33,57,12,42};
for(i=0;i<11;i++)
cout<<" "<<a[i];
cout<<endl;
cout<<"print number:";
cin>>num;
if(a[i]!=num)
cout<<"no"<<endl;
else
{ for(i=a[i];i<10;i++)
a[i]=a[i+1];
a[i]=0;
}
for(i=0;i<10;i++)
cout<<" "<<a[i];
cout<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int num,i;
int a[11]={2,34,54,223,87,5,9,33,57,12,42};
for(i=0;i<11;i++)
cout<<" "<<a[i];
cout<<endl;
cout<<"print number:";
cin>>num;
for(i=0;i<10;i

#include<iostream>
using namespace std;
int main()
{
int num, i ;
int a[11] = {2, 34, 54, 223, 87, 5, 9, 33, 57, 12, 42} ;

for(i=0 ; i<11 ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;

cout<<"print number:" ;
cin>>num ;

int j ;
for (i=0,j=0 ; i<11 ; i++)
{
a[j] = a[i] ;
if (a[i] != num)
{
j ++ ;
}
}

if (i == j)
{
cout<<"no"<<endl ;
}
else
{
for (i=0 ; i<j ; i++)
{
cout<<" "<<a[i] ;
}
cout<<endl ;
}

return 0 ;
}

if(a[i]!=num)
cout<<"no"<<endl;
注意此时少了FOR循环(前面的那个没加括号---应该是用来先输出一遍的?)