大佬教程收集整理的这篇文章主要介绍了C语言设计一个闪闪的圣诞树,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
控制台打印一个圣诞树:简简单单的C语言知识,真的很基础,小白也能看得懂哦
/******************************* 圣诞树 byC语言小白入门 *******************************/ #include<stdio.h> #include <stdlib.h> #include <time.h> #include<Windows.h> #define X 25 //画面长度 int background[20][2 * X] = { 0 }; int SNow = 30; //雪花密度 /******************************* 画树 *******************************/ void tree() { int i,j,x,y; for (i = 0; i < 3; i++) { y = i; for (j = 0; j < 2 * i + 1; j++) { background[y][(X - i) + j] = 1; } } for (i = 0; i < 5; i++) { y++; for (j = 0; j < 2 * (i + 1) + 1; j++) { background[y][(X - (i + 1)) + j] = 1; } } for (i = 0; i < 7; i++) { y++; for (j = 0; j < 2 * (i + 3) + 1; j++) { background[y][(X - (i + 3)) + j] = 1; } } for (i = 0; i < 5; i++) { y++; for (j = 0; j < 3; j++) { background[y][X + (2 * j - 2)] = 2; } } } /******************************* 画雪花 *******************************/ void sNow() { int i; srand(time(NULL)); for (i = 0; i < SNow; i++) { int x,y; x = rand() % (2 * X); y = rand() % 20; if ((background[y][x] == 0)) { background[y][x] = 3; } } } /******************************* 打印 *******************************/ void display() { int x,y; for (y = 0; y < 20; y++) { for (x = 0; x < 2 * X; x++) { if (background[y][x] == 0) { printf(" "); } if (background[y][x] == 1) { printf("0"); } if (background[y][x] == 2) { printf("|"); } if (background[y][x] == 3) { printf("*"); } } printf("\n"); } } /******************************* 清除雪花 *******************************/ void clear_sNow() { int i,j; for (i = 0; i < 20; i++) { for (j = 0; j < 2 * X; j++) { if (background[i][j] == 3) { background[i][j] = 0; } } } } void main() { tree(); while (1) { sNow(); display(); Sleep(1); system("cls"); clear_sNow(); } }
最终的效果图
也没有那么高大上的啦,就很简单的,效果的话是动态的,可以闪动的呢。
以上所述是小编给大家介绍的C语言设计一个闪闪的圣诞树,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
以上是大佬教程为你收集整理的C语言设计一个闪闪的圣诞树全部内容,希望文章能够帮你解决C语言设计一个闪闪的圣诞树所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。