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

相关推荐
这儿有一堆花1 分钟前
C语言递归宏详解
c语言·开发语言·c++
csbysj20205 分钟前
C 标准库 - `<ctype.h>`
开发语言
郝学胜-神的一滴9 分钟前
计算机图形中的法线矩阵:深入理解与应用
开发语言·程序人生·线性代数·算法·机器学习·矩阵·个人开发
百锦再21 分钟前
第8章 模块系统
android·java·开发语言·python·ai·rust·go
芯联智造28 分钟前
【stm32简单外设篇】- HC-SR501 / 人体红外被动红外传感器
c语言·stm32·单片机·嵌入式硬件
m0_5913389128 分钟前
day8鹏哥C语言--函数
c语言·开发语言·算法
_OP_CHEN32 分钟前
算法基础篇:(二)基础算法之高精度:突破数据极限
算法·acm·算法竞赛·高精度算法·oj题
oplp33 分钟前
回过头来重新对C语言进行深度学习(一)
c语言·开发语言
一只老丸34 分钟前
HOT100题打卡第30天——技巧
算法
Bi_BIT1 小时前
代码随想录训练营打卡Day38| 动态规划part06
算法·动态规划