如下int del_zero(int *p,int n);为你需要的函数,下面附带测试程序!
不明白就追问吧!
#include<stdio.h>
int del_zero(int *p,int n);
int main(void)
{
int i,n,test[128];
printf("请输入测试数组元素的个数n...\n");
scanf("%d",&n);
printf("请输入%d个数组元素\n",n);
for(i=0;i<n;i++)
scanf("%d",&test[i]);
printf("\n输入的数据元素为:\n");
for(i=0;i<n;i++)
printf("%d ",test[i]);
n=del_zero(test,n);
printf("\n删除0元素后的数组长度=%d,剩余元素为:",n);
for(i=0;i<n;i++)
printf("%d ",test[i]);
return 0;
}
int del_zero(int *p,int n)
{
int i,j,temp,len=n;
for(i=0;i<len;i++){
if(p[i]==0){
for(j=i;j<len;j++){
p[j]=p[j+1];
}
len--;
}
}
return len;
}
温馨提示:答案为网友推荐,仅供参考