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

相关推荐
Jay Kay13 小时前
GVPO:Group Variance Policy Optimization
人工智能·算法·机器学习
Mr_sun.13 小时前
Day09——入退管理-入住-2
android·java·开发语言
Epiphany.55613 小时前
蓝桥杯备赛题目-----爆破
算法·职场和发展·蓝桥杯
MAGICIAN...13 小时前
【java-软件设计原则】
java·开发语言
gpfyyds66613 小时前
Python代码练习
开发语言·python
YuTaoShao14 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法三)DP 空间优化
算法·leetcode·职场和发展
盐真卿14 小时前
python第八部分:高级特性(二)
java·开发语言
茉莉玫瑰花茶14 小时前
C++ 17 详细特性解析(5)
开发语言·c++·算法
lly20240614 小时前
《堆的 shift down》
开发语言
cpp_250114 小时前
P10570 [JRKSJ R8] 网球
数据结构·c++·算法·题解