Answer L39
#include <stdio.h>
void center(char left, char cent, char right, int count, int length)
{
int blanks = length-count;
int j;
for ( j=0; j<blanks/2; j++ ) putchar( ' ' );
for ( j=0; j<count/2; j++ ) putchar( left );
putchar( cent );
for ( j=0; j<count/2; j++ ) putchar( right );
putchar( '\n');
}
void shaggyTruncTriangle(char left, char cent, char right, int base, int top, int line)
{
int j;
for ( j=top; j<=base; j+=2 )
{
center( left, cent, right, j, line );
}
}
void pineTree( int tiers )
{
int t;
int line = tiers*2+1;
shaggyTruncTriangle( '/', '|', '\\', 3, 1, line );
for ( t=3; t<=tiers; t++ )
{
int base = t*2+1;
int top = (t-1)*2 - 1;
shaggyTruncTriangle( '/', '|', '\\', base, top, line );
}
for ( t=0; t<3; t++ )
center( '|', '|', '|', 3, line );
}
int main()
{
pineTree(8);
return 0;
}