#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(int argc, char *argv[]) { pineTree(8); system("PAUSE"); return 0; }
Comments: