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

编写函数int delnum(int *a , int num , int n),用于在长度是n的数组a中,删除一个值为num的元素。删除后数组的长度作为函数的返回值返回。注意,num在数组中可能不只一个。请以8_2.c命名本程序并上交
主函数如下:

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函数

#include
#define N 10

int delnum(int *a,int num,int n);//声明

int main()
{
int a[N],i,num,m;
printf("请输入10个数:>");
for(i = 0; i < N; ++i)
scanf("%d",&a[i]);

for(i = 0; i < N; ++i)      //将原数组打印一次
    printf("%d ",a[i]);
printf("\n");

printf("请输入要删除的数:");
scanf("%d",&num);

m = delnum(a,num,N);        //执行删除函数

for(i = 0; i < m; ++i)
    printf("%d ",a[i]);
printf("\n");
return 0;

}

int delnum(int *a,int num,int n)
{
int count = 0,i,j; //计数器 记录num在数组中的个数
for(i = 0; i < n; ++i)
{
if(a[i] == num)
{
for(j = i; j < n; ++j) //将要删除的位置之后的数都向前移动一位
a[j] = a[j+1];
count++;
}
}
return n-count;
}
你试着看一下,有不懂的可以问我.