Build a program with one simple GOTO
C fizzbuzz

This solution runs around the idea of interrupts and label variables (gcc only, sorry). The program sets up a timer which periodically calls main, where we goto whichever place the last execution of our interrupt handler (main) told us we should.

I've never used timers or label variables before, so I think there is much to bowl here.

#include &lt;sys/time.h&gt;
#include &lt;signal.h&gt;
#include &lt;stdio.h&gt;

int main(int argc)
{
    static int run = 1;
    static int* gotoloc = &amp;&amp;init;
    static int num = 0;
    static int limit = 50;

    goto *gotoloc;
init:
    signal(SIGVTALRM, (void (*)(int)) main);
    gotoloc = &amp;&amp;loop;

    struct itimerval it_val;

    it_val.it_value.tv_sec = 0;
    it_val.it_value.tv_usec = 100000;
    it_val.it_interval.tv_sec = 0;
    it_val.it_interval.tv_usec = 100000;
    setitimer(ITIMER_VIRTUAL, &amp;it_val, NULL);

    while(run);

loop:
    num = num + 1;
    run = num &lt; limit;
    gotoloc = &amp;&amp;notfizz + (&amp;&amp;fizz - &amp;&amp;notfizz) * !(num % 3);
    return 1;

fizz:
    printf("fizz");
    gotoloc = &amp;&amp;notbuzz + (&amp;&amp;buzz - &amp;&amp;notbuzz) * !(num % 5);
    return 1;

notfizz:
    gotoloc = &amp;&amp;notfizzbuzz + (&amp;&amp;buzz - &amp;&amp;notfizzbuzz) * !(num % 5);
    return 1;

buzz:
    printf("buzz\n");
    gotoloc = &amp;&amp;loop;
    return 1;

notbuzz:
    printf("\n");
    gotoloc = &amp;&amp;loop;
    return 1;

notfizzbuzz:
    printf("%d\n", num);
    gotoloc = &amp;&amp;loop;
    return 1;
}