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