やっとできた。ループがカッコ悪いのでだれか直して。
#include <stdio.h>
#define SIZE 10000

int a[SIZE];
int counter = 1;

void write_a(int *a)
{
int i, j, x=0;

for (i=1; i<counter; i++) {
for (j=a[i]; j--;)
printf("%d ", x);
x = (x) ? 0 : 1;
}
printf("\n");
}

int main(void)
{
int ch;
int num;

do {
counter = 1;
do {
num = 0;
while ((ch = getchar()) != ',' && ch != '\n' && ch != EOF) {
num *= 10;
num += ch - '0';
}
a[counter++] = num;
} while (ch != '\n' && ch != EOF);
write_a(a);
} while (ch != EOF);

return 0;
}