kkkkyyyy1234
kkkkyyyy1234
2017-12-10 14:14

求找错 移动数组元素

  • c

编写一个函数myMove,其功能是将一个数组中的所有为0的元素移至数组末尾,并保持数组非0元素的相对顺序不变Input
一行:一个正整数n(1<=n<=100)和n个整数(其中包含若干个0)
Output
一行,将n个整数中所有为0的元素移至数组末尾,并保持n个数组中非0元素的相对顺序不变
Sample Input
10 7 6 5 3 9 8 8 0 0 2
Sample Output
7 6 5 3 9 8 8 2 0 0
这是我写的错在哪了?
#include
#include
#define N 100
int main()
{
int n,i,j=0,m=0;
char a[N],b[N],t[N];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
scanf(" %c",&a[i]);
if(a[i]!='0')
{

        b[j]=a[i];
        j++;
    }
    if(a[i]=='0')
    {
        t[m]=a[i];
        m++;
    }

}
strcat(b,t);
printf("%s",b);

return 0;

}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答

为你推荐

换一换