编写函数int delnum(int a[ ] , int n , int num),实现在长度是n的数组a中,删除值为num的元素。删除后数组的中剩余数据的个数作为函数的返回值返回。注意,num在数组中可能不只一个。
从数据中删除一个数,所做的操作是该元素后面的数据全部前移一个存储位置。例如:
长度为10的数组中存储10个数据:2,2,5,8,3,1,4,7,9,2,删除2,则数组中剩余有效数据长度为8,依次为5,8,3,1,4,7,9
#include
#include
#define N 20
int delnum(int p[],int n,int num)
{
int nlen,i,j;
nlen=n;
for(i=0;i<nlen;i++)
{
if(p[i]==num)
{
for(j=i;j<nlen;j++)
p[j]=p[j+1];
nlen--;
}
}
return nlen;
}
int main()
{
int a[N],num,len,i;
for(i=0;i<N;i++)
printf("%d ",a[i]);
puts("");
printf("Please input delete num:");
scanf("%d",&num);
len=delnum(a,N,num);
for(i=0;i<len;i++)
printf("%d ",a[i]);
puts("");
return 0;
}