给定一个数组,完成对某个元素的删除操作(c语言)

我在考试,帮帮忙
2025-03-18 16:24:07
推荐回答(4个)
回答1:

给你个思路,找到指定的数组,将其后的数据前移,相当于把它删除了.比如说要删除第m个元素

for(int i=m;i{
a[i]=a[i+1];
}

回答2:

#define N 5
#include
void main()
{
int i,*p,*q,a[N],e,k,count;
count=N;
printf("Enter the numbers:");
for(i=0;iscanf("%d",&a[i]);
printf("enter the number you want to delet: ");
scanf("%d",&e);
for(i=0;i{
if(a[i]==e)
{
k=i;
}
}
q=&a[k];

p=&a[N];
for(++q;p>=q;++q)
{
*(q-1)=*q;
}
--count;
printf("the new array is :");
for(i=0;iprintf("%3d",a[i]);
getch();
}

回答3:

#include
int main()
{
int n,m,k;
int a[50];
while(scanf("%d",&n)!=EOF){
for(int j=0;jscanf("%d",&a[j]);
}
scanf("%d",&m);
for(int j=0;jif(a[j]==m){
for(int i=j;ia[i]=a[i+1];
}
n--;
j--;
}
else{
continue;
}
}
for(int k=0;kprintf("%d ",a[k]);
}
printf("\n");
return 0;
}
}

回答4:

不知道你说的删除操作是个什么根念,只是作处删除标志,还是真正从内存中删除掉,如果只做删除标志的话,你用for循环,遍历找到第n个元素,将值赋为标志值,注意,数组的下标是从0开始的