C语言写的酷炫的爱心代码

C语言写的酷炫的爱心代码

当然!以下是一个用C语言编写的简单程序,它会在控制台输出一个由星号(*)组成的酷炫爱心形状。这个代码利用了循环和字符打印来实现效果:

#include <stdio.h> #include <math.h> // 定义心形曲线的方程参数 #define WIDTH 40 #define HEIGHT 20 #define SCALE_X 1.5 #define SCALE_Y 1.5 #define OFFSET_X (WIDTH / 2) #define OFFSET_Y (HEIGHT / 3) int main() { for (float y = HEIGHT; y >= -HEIGHT; --y) { for (float x = -WIDTH; x <= WIDTH; ++x) { // 心形曲线方程:(x^2 + y^2 - 1)^3 - x^2 * y^3 <= 0 float equation = pow(pow(x * SCALE_X, 2) + pow(y * SCALE_Y, 2) - 1, 3) - pow(x * SCALE_X, 2) * pow(y * SCALE_Y, 3); if (equation <= 0) { // 根据心形的位置调整坐标使其在屏幕中央显示 if ((int)(x * SCALE_X + OFFSET_X) >= 0 && (int)(x * SCALE_X + OFFSET_X) < WIDTH && (int)(y * SCALE_Y + OFFSET_Y) >= 0 && (int)(y * SCALE_Y + OFFSET_Y) < HEIGHT) { printf("*"); } } else { printf(" "); } } printf("\n"); } return 0; }

代码解释:

  1. 宏定义

    • WIDTH 和 HEIGHT 定义了输出的宽度和高度。
    • SCALE_X 和 SCALE_Y 是用于缩放心形大小的系数。
    • OFFSET_X 和 OFFSET_Y 用于将心形移动到屏幕中央。
  2. 心形曲线方程

    • 使用 (x^2 + y^2 - 1)^3 - x^2 * y^3 <= 0 作为心形曲线的数学方程。
    • 通过调整 SCALE_X 和 SCALE_Y 可以改变心形的大小,通过 OFFSET_X 和 OFFSET_Y 可以移动心形在屏幕上的位置。
  3. 双重循环

    • 外层循环遍历 y 轴的值从 HEIGHT 到 -HEIGHT。
    • 内层循环遍历 x 轴的值从 -WIDTH 到 WIDTH。
  4. 条件判断

    • 计算当前点 (x, y) 是否满足心形曲线方程。如果满足,则在该位置打印星号(*)。
    • 检查点的坐标是否在有效范围内,以确保不会超出屏幕边界。
  5. 换行

    • 每完成一行后,使用 printf("\n") 进行换行。

你可以将这个代码复制到你的C编译器中运行,观察输出结果。希望你喜欢这个简单的爱心图案!