C语言问题求帮助!!!!!!!!!

编写函数int delnum(int *a , int num , int n),用于在长度是n的数组a中,删除一个值为num的元素。删除后数组的长度作为函数的返回值返回。注意,num在数组中可能不只一个。
主函数如下:
define N 10
int  main( )
{ int a[N],i,num,m;
scanf(“%d”,&num);
键盘输入N个数到数组a中;
m=delnum函数调用,在数组a中删除指定的数num,并返回剩余数据个数;
输出删除了num后的数组a;
return 0;
}
  定义并编写delnum函数
同问0
|
浏览16
|
收藏0
|

数组的最大长度是不可以改变的,你说的是数组的有效长度?

int main()
{
    int delnum(int *,int );
    int num,c,i;
    int a[10]={1,2,3,4,5,5,5,6,7,8};
    printf("input num:");
    scanf("%d",&num);
    c=delnum(a,num);
    printf("lenth of new array:%d\n",c);
    printf("new array:");
    for(i=0;i<10;i++)
    {
        if(a[i]!=num)
        printf("%d ",a[i]);
    }
}
int delnum(int *a,int num)
{   
    int i,b=0;
    for(i=0;i<10;i++)
    {
        if(*a==num)
        {b++;}
        a++;
    }
    return (10-b);
}



你简单修改一下就可以