e[]={32,30,32,31,32,31,32,32,31,32,31,32}; *f[]={"%3d","\n%3d","%3d\n\n"}; *a="\n"; *b=""; *c; m=0,d,w=3,n; main(){ for(;m<12;m++,(w%7)?puts(a):puts(b)){ for(n=0;n<w%7;n++,printf(" ")); for(d=1;d<e[m];)printf(f[(w++%7==0)],d++);}}
Note that non-ascii characters in the above source code will be escaped (such as \x9f).