C语言设计一个闪闪的圣诞树
发布时间 - 2026-01-10 21:50:26 点击率:次控制台打印一个圣诞树:简简单单的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语言圣诞树
# C语言绘制简单时钟小程序
# 使用C语言来画出皮卡丘的教程(附代码)
# 小编
# 在此
# 也能
# 真的很
# 给大家
# 很简单
# 这篇文章
# 所述
# 给我留言
# 感谢大家
# 看得懂
# 疑问请
# 有任何
# Windows
# stdlib
# gt
# time
# int
# background
# define
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
如何在阿里云虚拟服务器快速搭建网站?
如何在万网自助建站中设置域名及备案?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel如何实现数据库事务?(DB Facade示例)
西安专业网站制作公司有哪些,陕西省建行官方网站?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
清除minerd进程的简单方法
如何在阿里云香港服务器快速搭建网站?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
网站制作大概多少钱一个,做一个平台网站大概多少钱?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何快速使用云服务器搭建个人网站?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Laravel中的withCount方法怎么高效统计关联模型数量
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
高端云建站费用究竟需要多少预算?
Python3.6正式版新特性预览
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
如何用已有域名快速搭建网站?
如何用IIS7快速搭建并优化网站站点?
Laravel如何处理和验证JSON类型的数据库字段
Laravel模型事件有哪些_Laravel Model Event生命周期详解
如何在Windows服务器上快速搭建网站?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
免费网站制作appp,免费制作app哪个平台好?
Laravel如何处理表单验证?(Requests代码示例)
微信小程序 五星评分(包括半颗星评分)实例代码
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
如何快速搭建个人网站并优化SEO?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
再谈Python中的字符串与字符编码(推荐)

