编写一个函数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;
}