在你们的世界里,是不是觉得程序猿一点浪漫都不懂?其实不是的,程序猿的世界也是很浪漫滴!
傻瓜版
int main() { printf("❤"); return 0; }
高级版
//版本一:单个字符的心形图案 #include <stdio.h> int main(void) { float a,x,y; for(y=1.5f; y>-1.5f; y-=0.1f) { for(x=-1.5f; x<1.5f; x+=0.05f) { a = x*x+y*y-1; //这里的@符号即为打印出的心形图案符号,可更改 char ch = a*a*a-x*x*y*y*y<=0.0f?'@':' '; putchar(ch); //或者putchar(a*a*a-x*x*y*y*y<=0.0f?'*':' '); } printf(" "); } return 0; }
//空心版 #include <stdio.h> #include <math.h> // The first heart shape in hollow // (x^2+y^2-1)^3 - x^2*y^3 = 0 // y ~ (-1.1 , 1.3 ) // x ~ (-1.2 , 1.2 ) int main() { for (float y = 1.3; y >= -1.1; y -= 0.06) { for (float x = -1.2; x <= 1.2; x += 0.025) { if (pow((x * x + y * y - 1.0), 3) - x * x * y * y * y <= 0.0) printf(" "); else printf("*"); } printf(" "); } return 0; }
//版本二:可用多个字符组成打印 #include <stdio.h> int main(void) { float f, x, y, z; for (y = 1.5f; y > -1.5f; y -= 0.1f) { for (x = -1.5f; x < 1.5f; x += 0.05f) { z = x * x + y * y - 1; f = z * z * z - x * x * y * y * y; putchar(f <= 0.0f ? "lihuan"[(int)(f * -8.0f)] : ' '); //这里的lihuan字符可更改成符号或其他字母,汉字不行,图案会变形 } printf(" "); } return 0; }
//加颜色版
#include <stdio.h> int main(int argc, char* argv[]) { float f, x, y, z; for (y = 1.5f; y > -1.5f; y -= 0.1f) { for (x = -1.5f; x < 1.5f; x += 0.05f) { z = x * x + y * y - 1; f = z * z * z - x * x * y * y * y; // =================================== printf("