#include <stdio.h>

int main(int argc, char* argv[])
{
    const char* sfb = \"FizzBuzz\";
    const char* sf[] = {\"%*.d\\n\", \"%.*s\\n\"};
    
    int n;
    for(n=1;n<=100;n++)
    {
        int i = ((n%15==0)|(n%3==0))+(n%5==0)*5*!(n%15==0);
        printf(sf[i&1], i*4*((n%15==0)+1), i?(int)(sfb+i-1):n);
    }

    return 0;
}


http://codepad.org/eQc0wEWh


V2. 좀 더 더럽게 for문 축약. --------------

#include <stdio.h>

const char* sfb = \"FizzBuzz\";
const char* sf[] = {\"%*.d\\n\", \"%.*s\\n\"};

int main(int argc, char* argv[])
{

    int n, i;
    for(n=1,i=0;printf(sf[i&1], i*4*((n%15==0)+1), i?(int)(sfb+i-1):n),n<=100;n++,i=((n%15==0)|(n%3==0))+(n%5==0)*5*!(n%15==0))
        ;

    return 0;
}

http://codepad.org/Dppdl2ec