这是我第一次尝试用c语言编写一个爱心,思路比较暴力,代码虽然简单,但还是有点小多(复制加粘贴~~其实还好,小白来说不错啦)

话不多说,,先看成果:

再上代码(大神莫嘲笑):

#include<stdio.h>
#include<windows.h>
int main()
{int a, b, c, d;for (a = 0; a <= 3; a++){printf("          ");for (b = 0; b < (1 + 2 * (3 - a)); b++)printf(" ");for (b = 0; b < ((a * 4) + 4); b++)printf("*");for (b = 0; b < (1 + 4 * (3 - a)); b++)printf(" ");for (b = 0; b < ((a * 4) + 4); b++)printf("*");for (b = 0; b < (1 + 2 * (3 - a)); b++)printf(" ");putchar('\n');Sleep(100);}for (a = 0; a < 3; a++){printf("          ");for (b = 0; b < 35; b++)printf("*");putchar('\n');Sleep(100);}for (a = 0; a < 9; a++){printf("          ");for (b = 0; b < (1 + (a * 2)); b++)printf(" ");for (b = 0; b < (1 + (4 * (8 - a))); b++)printf("*");putchar('\n');Sleep(100);}return 0;
}

运行结果很简单,就是一个简单的不能再简陋的爱心;

思路其实特别简单,学过一点循环结构应该就能实现,首先,我们的把这个爱心分为三部分,分别实现:

第一部分:

这部分拆开来看,其实很明显,就是两个用"*"实现的梯形,实现方法我还是比较暴力的,就是打印 空格 加 ”*“ ,用for (a = 0; a <= 3; a++),打印4排,每排的 空格 加 ”*“ 的数量都是和a有关的表达式,每行都是 空格 ”*“ 空格 ”*“ 最后加一个换行。

第一个空白部分:从上到下分别是(7 5 3 1)个空格,和a的关系就是(1 + 2 * (3 - a),

两个*梯形部分都是一样的,从上到下分别是(4 8 12 16)个”*“,和a的关系就是((a * 4) + 4),

第二个空白部分:从上到下分别是(13 9 5 1)个空格,和a的关系就是1 + 4 * (3 - a),

第二部分:

这部分很简单,就是三排”*“,每排35个,用一个简单的for循环就能实现。

第三部分: 

这部分和第一部分类似,就是打印  空格 加 ”*“ ,一共9行,用for (a = 0; a < 9; a++)实现。

第一个空白部分:从上到下分别是(1 3 5~~15 17)个空格,和a的关系是(1 + (a * 2));

第二个”*“部分:从上到下分别是(33 29~~5 1)个”*“,和a的关系是 1 + (4 * (8 - a)) 。

哦哦,忘了,每行开头加同样的空格可以把爱心往中间移动,

每行结尾加Sleep(100),可以让爱心的生成更有节奏感,观赏性更强。(手法低端,还好能有用)

all in all,这三个部分加在一起就是一个爱心啦,代码可能有点冗杂,但思路是很简单的,相信大家看一遍应该就能看明白。后续我还会想办法写出更简单的代码,更美观的爱心,谢谢大家上赏脸看了看我这个新手村小白废话。

c语言 爱心 (koi奋斗中~~)相关推荐

  1. 毕业两年的我--奋斗中的程序员

    又到一年毕业季,不知不觉,自己毕业快两年了,在这两年中,从一位小白程序员蜕化到现在的拥有两年经验的C++程序员,这两年里面,不敢说成长有多快,进步有多大,但是感觉很踏实,每天都过得很充实,每天都在一点 ...

  2. C语言爱心代码大全集—会Ctrl+C就可以表白了

    一.C语言爱心代码大全,会Ctrl+C就可以表白了! 博主整理了一个C语言爱心代码大全,里面有C语言爱心代码会动的动态效果和C语言爱心代码大全静态效果,只需复制粘贴就可以用啦! 1.动态C语言爱心代码 ...

  3. log包在Golang语言的标准库中是怎么使用的?

    Golang 语言的标准库中提供了一个简单的 log 日志包,它不仅提供了很多函数,还定义了一个包含很多方法的类型 Logger.但是它也有缺点,比如不支持区分日志级别,不支持日志文件切割等. 01. ...

  4. R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤、条件推理决策树是传统决策树的一个重要变体、条件推理树的分裂是基于显著性测试而不是熵/纯度/同质性度量来选择分裂

    R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤(Conditional inference trees).条件推理决策树是传统决策树的一个重要变体.条件推理树的分裂是基于显著性 ...

  5. R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个

    R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录

  6. R语言使用caret包中的createMultiFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k×times个、times为组内抽样次数

    R语言使用caret包中的createMultiFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k×times个.times为组内抽样次数 目录

  7. R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表

    R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees).使用plot函数可视化训练好的条件推理决策树.条件推理决策树的叶子节点的阴影区域表 ...

  8. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    R语言时间序列数据滚动相关性分析(Rolling correlations).R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlation ...

  9. R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形、自定义设置treemap图的调色板、自定义设置treemap标题字体的大小

    R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形.自定义设置treemap图的调色板.自定义设置treemap标题字体的大小 目录

最新文章

  1. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解
  2. 腾讯告诉你小孩子的钱也有多好赚,一月花费25万不是梦!
  3. php email,两种PHP邮件发送的方式
  4. linux中MySQL密码的恢复方法
  5. 深度优先搜索——单词方阵(洛谷 P1101)
  6. a*算法的时间复杂度_算法的时间复杂度:大O表示法
  7. Python3 移动文件——合集
  8. 洛谷 P1631 序列合并
  9. 普通人有必要学新媒体吗?
  10. js实现前端根据部对象属性对对象数组进行排序
  11. 《Flutter 从0到1构建大前端应用》读后感—第5章【动画】
  12. 计算机专业基础 -- Linux系统相关基础知识
  13. NYOJ 取石子总结
  14. Ant Design 遭删库!
  15. java 根据条码字体_barcode4j使用自定义字体生成条形码
  16. Python pandas.DataFrame.combine_first函数方法的使用
  17. 关于牛顿-欧拉法的外推和内推的理解
  18. python入门基础笔记
  19. 布局管理器——表格布局
  20. windows访问控制列表ACL

热门文章

  1. Axure RP Extension for Chrome 安装插件
  2. 李宏毅老师《机器学习》课程笔记-6 GAN
  3. charles + 雷电模拟器4进行手机抓包
  4. DHV展示故事经典 案例 卖猪借宿
  5. 卡车智能驾驶进入“后法规”时代
  6. Python用while循环,打印9*9乘法表
  7. linux电脑接电视,Ubuntu下如何给通过HDMI连接电视机的计算机强制设置1920*1080分辨率...
  8. APP开发从需求到产品—APP产品经理成长日记
  9. 基于高斯两步移动搜寻法(2SFCA)的城市绿地可达性分析
  10. edge,Chrome浏览器被360主页劫持极简解决方案(win10)