先看实现效果
基本知识
-
• C语言循环结构使用
-
• 数学的爱心图形函数,根据方程判断是否放置构成爱心图形的字符
数学方程
(x^2 + y^2 - 1)^3 - x^2 * y^3 = 0
如果点坐标(x,y)在心形函数内即打印字符,否则显示空格字符。
这里看出数学很重要,即使掌握C语言,如果不知道数学解法,则无法编程。
示例代码
/*
* 功 能:打印心形
* 作 者:一直爱学C的喵
* 公众号:首发于C语言学习笔记
* 日 期:2022.11.26
*/
#include <stdio.h>
// 定义打印的心形填充的字符,这里可以修改成任意字符
// #define star '*'
// #define star '@'
#define star '+'
int main(void)
{
double x, y;
// 其中x和y的步长可微调
for (y = 1.5; y > -1.5; y -= 0.09)
{
for ( x = -1.5; x < 1.5; x += 0.04)
{
double z = x * x + y * y - 1;
putchar(z * z * z - x * x * y * y * y <= 0.0 ? star : ' ');
}
putchar('\n');
}
return 0;
}
---------- End ----------