C语言打印爱心

1、代码如下:

void print_heart(int size)

{

// 根据大小调整坐标范围

double scale = size / 10.0;

double x_min = -1.5 * scale;

double x_max = 1.5 * scale;

double y_min = -1.5 * scale;

double y_max = 1.5 * scale;

// 设置步长(控制细节)

double step = 0.05 / scale;

for (double y = y_max; y > y_min; y -= step)

{

// x步长减半以补偿字符宽高比

for (double x = x_min; x < x_max; x += step/2)

{

// 心形方程: (x² + y² - 1)³ - x²y³ = 0

double a = x*x + y*y - 1;

if (a*a*a - x*x*y*y*y <= 0)

{

//printf("*");

printf("\033[1;31m*\033[0m");

}

else

{

printf(" ");

}

}

printf("\n");

}

}

int main()

{

int size;

printf("请输入爱心大小 (1-20): ");

scanf("%d", &size);

// 限制大小范围

if (size < 1) size = 1;

if (size > 20) size = 20;

print_heart(size);

return 0;

}

2、运行结果如下:

相关推荐
会员源码网4 小时前
使用`mysql_*`废弃函数(PHP7+完全移除,导致代码无法运行)
后端·算法
木心月转码ing5 小时前
Hot100-Day10-T438T438找到字符串中所有字母异位词
算法
HelloReader5 小时前
Wi-Fi CSI 感知技术用无线信号“看见“室内的人
算法
颜酱8 小时前
二叉树分解问题思路解题模式
javascript·后端·算法
qianpeng8979 小时前
水声匹配场定位原理及实验
算法
董董灿是个攻城狮21 小时前
AI视觉连载8:传统 CV 之边缘检测
算法
RuoZoe1 天前
重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
c语言
AI软著研究员1 天前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish1 天前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱1 天前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法