C语言学习日记(9)——用C语言写一个爱心

怎么输出心形呢?小猫想,在纸上先画一个心形,然后再写成代码,这应该是最简单的方案了。但是这样就是一行一行的写printf,感觉很没技术含量啊。

能不能用一个表达式,一次性输出呢?小猫又想,先找一个心形曲线的数学方程,然后将它的内部填上字符‘*’,应该就可以了。小猫先搜索了一下心形曲线的数学方程,找到一个看起来比较好实现的:

另一个问题是:怎么控制心形的大小呢?虽然可以在编程过程中边试边调整,但事先能大概确定心形大小会更好一点。小猫看了一下这个图形的坐标,横坐标范围大概在-1.5到1.5之间,纵坐标范围大概在-1.0到1.5之间。小猫想:让横坐标x和纵坐标y都从-1.5到1.5按一定的步长增长,比如横坐标步长设为0.05,纵坐标步长设为0.1,设置两层循环,每次循环就将x,y代入方程,如果小于等于0,就说明这个点在心形内,此时输出‘*’字符,如果大于0,就说明这个点在心形外,此时输出空格(或者不做任何动作)。这样横向方向最多可以输出3.0/0.05=60个字符,纵向方向最多可以输出30个字符,即最多30行60列。小猫觉得大小应该合适了,不行再调整步长吧。代

  • 14
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值