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、运行结果如下:

相关推荐
CoderYanger3 小时前
优选算法-双指针:2.复写零
java·后端·算法·leetcode·职场和发展
weixin_446260853 小时前
快速构建网站的利器——Symfony PHP框架
开发语言·php·symfony
王夏奇3 小时前
C语言中#pragma的用法
c语言·开发语言
charlie1145141913 小时前
理解C++20的革命特性——协程支持2:编写简单的协程调度器
c++·学习·算法·设计模式·c++20·协程·调度器
hadage2333 小时前
--- 常见排序算法汇总 ---
算法·排序算法
李宥小哥3 小时前
C#基础10-结构体和枚举
java·开发语言·c#
带娃的IT创业者4 小时前
第4集:配置管理的艺术:环境变量、多环境配置与安全实践
开发语言·python·安全·项目配置·开发基础
Mrs.Gril4 小时前
目标检测:yolov7算法在RK3588上部署
算法·yolo·目标检测
省四收割者4 小时前
Go语言入门(20)-nil
开发语言·vscode·golang
19岁开始学习4 小时前
Go语言中的Zap日志库
开发语言·golang·xcode