C语言编程动态爱心
时间: 2023-07-05 12:11:10 浏览: 101
以下是用C语言编写的动态爱心代码,需要在命令行中运行:
```
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <Windows.h>
const double PI = 3.14159265358979323846;
int main()
{
int x, y, i, j;
double f;
int a[50][100] = { 0 };
for (i = 0; i <= 90; i++)
{
f = i * PI / 45;
for (j = 0; j <= 90; j++)
{
if ((int)(sqrt((i - 45) * (i - 45) + (j - 45) * (j - 45))) + (int)(sqrt((i - 45) * (i - 45) + (j - 55) * (j - 55))) == 30)
{
a[i][j] = 1;
}
else if ((int)(sqrt((i - 45) * (i - 45) + (j - 45) * (j - 45))) + (int)(sqrt((i - 45) * (i - 45) + (j - 55) * (j - 55))) < 30)
{
a[i][j] = 2;
}
else
{
a[i][j] = 0;
}
if ((int)(sqrt((i - 25) * (i - 25) + (j - 35) * (j - 35))) + (int)(sqrt((i - 65) * (i - 65) + (j - 35) * (j - 35))) == 28)
{
a[i][j] = 1;
}
else if ((int)(sqrt((i - 25) * (i - 25) + (j - 35) * (j - 35))) + (int)(sqrt((i - 65) * (i - 65) + (j - 35) * (j - 35))) < 28)
{
a[i][j] = 2;
}
}
}
system("color 0c");
while (1)
{
for (i = 0; i <= 90; i++)
{
for (j = 0; j <= 90; j++)
{
if (a[i][j] == 1)
{
printf("♥");
}
else if (a[i][j] == 2)
{
printf(" ");
}
else
{
printf(" ");
}
}
printf("\n");
}
for (i = 0; i <= 128; i++)
{
f += 0.1;
x = (int)(16 * sin(f) * sin(f) * sin(f));
y = (int)(-13 * cos(f) + 5 * cos(2 * f) + 2 * cos(3 * f) + cos(4 * f));
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), (COORD){ 45 + x, 25 - y });
printf("♥");
}
Sleep(50);
system("cls");
}
return 0;
}
```
运行后,会在命令行中输出动态的爱心,由于命令行的限制,可能无法呈现完整的效果。如果您想要更好地展示该爱心效果,可以尝试在其它平台上运行,如网页或桌面应用程序。
阅读全文