c语言爱心动态
时间: 2023-07-13 15:14:02 浏览: 48
以下是一个简单的C语言程序,可以输出一个爱心形状的动态图案:
```
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#define PI 3.14159265358979323846
void heart(double x, double y);
int main() {
srand(time(NULL));
int i;
for (i = 0; i < 100; i++) {
double x = (double)rand() / RAND_MAX * 2 - 1;
double y = (double)rand() / RAND_MAX * 2 - 1;
heart(x, y);
usleep(50000);
printf("\033[2J\033[H");
}
return 0;
}
void heart(double x, double y) {
double fx = pow(sin(PI * x), 3);
double fy = cos(PI * y) - 0.5 * cos(2 * PI * y);
if (fx * fx + fy * fy < 0.02) {
putchar('*');
} else {
putchar(' ');
}
putchar('\n');
}
```
这个程序使用了数学公式来定义爱心形状,然后随机生成一些坐标点,根据这些点是否在爱心形状内来输出不同的字符,最终形成一个动态的爱心图案。