求助各位大佬:删除n个数中的0元素
#include <stdio.h>int main()
{
int i,n,j,flag,count=0,MAX=0;
char a[1000]={0};char b[1000]={0};
scanf("%d",&n);
for (i=0;i<n;i++) //依次输入数组
{ scanf("%s",&a[i]);
if(a[i]==0) MAX++; //记录这串数中所有0的个数
b[i]=a[i];
}
for(i=n-1;i>=0;i--) //倒着从这串数组开始,例如从最后一个a[i-1]开始,将它的下标改变 i-1减去它的前面所有0的个数即count,为了不覆盖掉前面 还没改下标的元素,因此赋给了b数组
{
if(a[i]!=0)
{
for(j=0;j<i-1;j++)
if(a[i]==0) { count++; }
}
b[i-count]=a[i];
count=0; //count重置归零,因为每个元素前的0元素个数count不同
}
for(i=0;i<n-MAX;i++)
{
printf("%d",b[i]);
}
return 0;
}
请教各位大神,为什么编译不出来?感谢路过的大神花时间进贴指教
[此贴子已经被作者于2019-10-15 16:47编辑过]