想要实现把一个数组中的零全部移到数组最后,然后其他数字的次序不变,用指针实现
请友友们帮忙看看程序有什么问题
你这写的太麻烦了吧。
思路:
遍历数组,凡是不是0的元素,移动到数组开头的位置,最后将数组后面的全部改为0,即可
#include <stdio.h>
int main()
{
int a[10001] = {0},n,i,j=0,k;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
if(a[i] != 0)
a[j++] = a[i];
}
for(k=j;k<n;k++)
a[k] = 0;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}