帮我看看这道C语言问题

给你一个由若干整数组成的数组,请你编程将其中的数字0去掉,将不为0的元素存入一个新的数组并输出。

例如:

给定数组{1,3,4,5,0,0,6,6,5,4,7,8,0,9}

去零后:{1,3,4,5,6,6,5,4,7,8,9}

输入
输入有若干组。

每组一行,有若干个由逗号,分割的数字串。

输出
输出去零后的元素。

#include<stdio.h>
#define MaxSize 1024
int main(){
    int c,n;
    char a[MaxSize],b[MaxSize];
    printf("请输入有多少组:");
    scanf("%d",&c);
    for(int i=0;i<c;i++){
        printf("请输入第%d组:",i+1);
        scanf("%s",a);
        n=0;
        for(int j=0;a[j]!='\0';j++){
            if(a[j]!='0'){
                b[n]=a[j];
            }
            else if(a[j]=='0'){
                j=j+1;
                continue;
            }        
            n++;
        }
        b[n+1]='\0';
        printf("%s\n",b);
    }
    return 0;
} 

未对数字值进行操作 所以直接当字符串来操作 方便读入和输出