搜索
简帛阁>技术文章>C++打印圣诞树

C++打印圣诞树

#include"stdio.h"
main(){<!-- -->
	int h,l;
	for(h=1;h<=10;h++){<!-- -->
		for(l=10;l>=h;l--){<!-- -->
			printf(" ");
		}
		for(l=1;l<=h*2-1;l++){<!-- -->
			if(l==1||l==h*2-1||h==10){<!-- -->
				printf("*");
			}
			else{<!-- -->
				printf(" ");
			}
		}
		printf("\n");
	}
	
	for(h=1;h<=8;h++){<!-- -->
		printf(" ");
		for(l=8;l>=h;l--){<!-- -->
			printf(" ");
		}
		for(l=1;l<=h*2+2;l++){<!-- -->
			if(l==1||h==8||l==h*2+2){<!-- -->
				printf("*");
			}
			else{<!-- -->
				printf(" ");
			}
		}
		printf("\n");
	}
	
	for(h=1;h<=10;h++){<!-- -->
		printf(" ");
		for(l=1;l<=7;l++){<!-- -->
			printf(" ");
		} 
		for(l=1;l<=6;l++){<!-- -->
			if(h==10||l==1||l==6){<!-- -->
				printf("*");
			}
			else{<!-- -->
				printf(" ");
			}
		}
		printf("\n");
	}
}

效果

          *
         * *
        *   *
       *     *
      *       *
     *         *
    *           *
   *             *
  *               *
 *******************
         *  *
        *    *
       *      *
      *        *
     *          *
    *            *
   *              *
  ******************
        *    *
        *    *
        *    *
        *    *
        *    *
        *    *
        *    *
        *    *
        *    *
        ******

如果想要在完美一点可以用这个

#include"stdio.h"
main(){<!-- -->
	int h,l;//定义行与列
	//树头: 
	for(h=1;h<=10;h++){<!-- -->//树头总行数 
		for(l=10;l>=h;l--){<!-- -->//树头中的倒三角 
			printf(" ");
		}
		for(l=1;l<=h*2-1;l++){<!-- -->//树头中的数体,三角部分 
			if(l==1||l==h*2-1){<!-- -->//选中三角部分的两边 
				printf("*");
			}
			else if(h==10){<!-- -->//因为完美版的树头最底部有缺口所以将树头最底部单独输出 
				if(l<=8||l>=11){<!-- -->//缺口的两边 
					printf("*");
				}
				else{<!-- -->//缺口 
					printf(" ");
				}
			} 
			else{<!-- -->//整个树头三角形的中心 
				printf(" ");
			}
		}
		printf("\n");
	}
	
	//树中心 
	for(h=1;h<=8;h++){<!-- -->//树中心总行数 
		for(l=8;l>=h;l--){<!-- -->//倒三角 
			printf(" ");
		}
		for(l=1;l<=h*2+2;l++){<!-- -->//树中心三角部位 
			if(l==1||l==h*2+2){<!-- -->//三角两边 
				printf("*");
			}
			else if(h==8){<!-- -->//和树头一样空出树中心最底部 
				if(l<=7||l>=12){<!-- -->//缺口两边 
					printf("*");
				}
				else{<!-- -->//缺口 
					printf(" ");
				}
			}
			else{<!-- -->//树中心三角部分空心部分 
				printf(" ");
			}
		}
		printf("\n");
	}
	
	//树底 
	for(h=1;h<=10;h++){<!-- -->//控制树底行数 
		for(l=1;l<=7;l++){<!-- -->//树底前的长方形 
			printf(" ");
		} 
		for(l=1;l<=6;l++){<!-- -->//树底 
			if(h==10||l==1||l==6){<!-- -->//树底两边与最底 
				printf("*");
			}
			else{<!-- -->//树底中心空心部位 
				printf(" ");
			}
		}
		printf("\n");
	}
}

效果

          *
         * *
        *   *
       *     *
      *       *
     *         *
    *           *
   *             *
  *               *
 ********  *********
        *  *
       *    *
      *      *
     *        *
    *          *
   *            *
  *              *
 *******    *******
       *    *
       *    *
       *    *
       *    *
       *    *
       *    *
       *    *
       *    *
       *    *
       ******
如果你想编一个简单的圣诞树的话这里也许有你要的东西这是我当时初学的时候写的每片叶子都是我一个一个试出来的后来也没有进行缩减有兴趣的同学自己试试缩减吧(语句都很简单我只是懒而已)代码可直接复制使用我试
其实吧,这也是老师让我们输出菱形的时候不小心做出来的一个东西。好了废话不多说,上源码。其实这也是我第一次发文章,有点小激动,哈哈。最后祝大家圣诞快乐呀!include<stdioh>voi
使用须知:测试机为Mac,windows下可能会需要修改代码使用了usleep(),若为windows可能需要修改先上效果图(牛是用cowsay生成的)include<stdioh>inc
你们要的圣诞树它来啦!快去送给心爱的人吧!效果如下:define_CRT_SECURE_NO_WARNINGS1include<mathh>include<stdioh>in
圣诞节还没有收到圣诞树??手残不会画??快来用代码打印一个圣诞树给自己(TA)吧。不知道为什么最近圣诞树很火???突然感觉博主就跟不上潮流了,博主今天也看到了好几个写圣诞树的博客,好看是好看,可是那代
includeintmain(void){inti,j,k,z,a,n;printf(“首先祝这个电脑前的小可爱圣诞快乐(~ ̄▽ ̄)~”);printf(\n);printf(“接下来有几个选项需要您
如如何何用用C语语言言画画一一个个“圣圣诞诞树树”如何用C语言画一个“圣诞树”,我使用了左右镜像的Sierpinskitriangle,每层减去上方一小块,再用符号缀。可生成不同层数的「圣诞树」,如下
如何用C语言画一个“圣诞树”,我使用了左右镜像的Sierpinskitriangle,每层减去上方一小块,再用符号点缀。可生成不同层数的「圣诞树」,如下图是5层的结果include<stdli
头文件iconh:pragmaonceifndef_ICON_H_define_ICON_H_include<graphicsh>include<stringh>include
目录一、实验环境二、黑白圣诞树三、windowsh简介四、windowsh实现彩色圣诞树1设置用户窗口2移动光标3修改字体颜色4绘制圣诞树5绘制雪景6完整代码7运行一、实验环境编译环境:vc++60