Language: C

t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 't' [-Wimplicit-int]
main.c:1:7: error: type defaults to 'int' in declaration of 'j' [-Wimplicit-int]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |       ^
main.c:1:9: error: return type defaults to 'int' [-Wimplicit-int]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |         ^
main.c: In function 'f':
main.c:1:9: error: type of 'n' defaults to 'int' [-Wimplicit-int]
main.c:1:9: error: type of 'm' defaults to 'int' [-Wimplicit-int]
main.c:1:9: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:61: error: implicit declaration of function 'elsefor' [-Wimplicit-function-declaration]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                             ^~~~~~~
main.c:1:72: error: expected ')' before ';' token
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                    ~   ^
      |                                                                        )
main.c:1:78: error: expected ';' before 'printf'
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                              ^~~~~~
      |                                                                              ;
main.c: At top level:
main.c:1:111: error: return type defaults to 'int' [-Wimplicit-int]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                               ^~~~
main.c: In function 'main':
main.c:1:111: error: type of 'n' defaults to 'int' [-Wimplicit-int]
main.c:1:124: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                                            ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
main.c:1:124: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | t[99],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                                            ^~~~~
main.c:1:124: note: include '<stdio.h>' or provide a declaration of 'scanf'