C语言 画心形 程序员的简单浪漫

简介: C语言 画心形 程序员的简单浪漫

c90120d94dbc4f93a3416d4983c282d4.png


  别忘了三连哟~


#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
float f(float x, float y, float z) {
    float a;
a = x * x + 9.0f / 4.0f * y * y + z * z - 1;
    return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;
}
float h(float x, float z) {
float y;
    for ( y = 1.0f; y >= 0.0f; y -= 0.001f)
        if (f(x, y, z) <= 0.0f)
            return y;
    return 0.0f;
}
void main() {
float z,x,v,y0,ny,nx,nz,nd,d;
    for ( z = 1.5f; z > -1.5f; z -= 0.05f) {
        for ( x = -1.5f; x < 1.5f; x += 0.025f) {
             v = f(x, 0.0f, z);
            if (v <= 0.0f) {
                 y0 = h(x, z);
                 ny = 0.01f;
                 nx = h(x + ny, z) - y0;
                 nz = h(x, z + ny) - y0;
                 nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);
                 d = (nx + ny - nz) * nd * 0.5f + 0.5f;
                putchar(".:-=+*#%@"[(int)(d * 5.0f)]);
            }
            else
                putchar(' ');
        }
        putchar('\n');
    }
}


小爱心( 别忘了三连哟~)


356ef3adc4f143d19e4a6860b14ceb63.png


别忘了三连哟~


#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
    for (float y = 1.5f; y > -1.5f; y -= 0.1f) {
        for (float x = -1.5f; x < 1.5f; x += 0.05f) {
            float a = x * x + y * y - 1;
            putchar(a * a * a - x * x * y * y * y <= 0.0f ? '*' : ' ');
        }
        putchar('\n');
    }
}


  别忘了三连哟~

相关文章
|
搜索推荐 程序员 编译器
神奇的库函数qsort【详解指向函数指针数组的指针、回调函数、模拟实现qsort函数】【C语言/指针/进阶/程序员内功修炼】【下】
神奇的库函数qsort【详解指向函数指针数组的指针、回调函数、模拟实现qsort函数】【C语言/指针/进阶/程序员内功修炼】【下】
62 0
|
6月前
|
Java Unix 程序员
C语言——每位程序员的必修课
C语言——每位程序员的必修课
C语言——每位程序员的必修课
|
程序员 编译器 C语言
指针太乱傻傻分不清?教你如何正确快速理解/函数指针/数组参数、指针参数/函数指针数组【C语言/指针/进阶/程序员内功修炼】【中】
指针太乱傻傻分不清?教你如何正确快速理解/函数指针/数组参数、指针参数/函数指针数组【C语言/指针/进阶/程序员内功修炼】【中】
44 0
|
6月前
|
算法 程序员 C语言
普通程序员也能秒查数组中特定元素,C语言的神秘技巧揭秘!
普通程序员也能秒查数组中特定元素,C语言的神秘技巧揭秘!
|
6月前
|
存储 算法 程序员
普通程序员,掌握这个技能,C语言反转数组只需1秒,效率翻倍无敌了!
普通程序员,掌握这个技能,C语言反转数组只需1秒,效率翻倍无敌了!
|
程序员 编译器 C语言
还在因为指针头大吗,6000字的白话让你掌握字符指针/指针数组/数组指针的用法【C语言/指针/进阶/程序员内功修炼】【上】
还在因为指针头大吗,6000字的白话让你掌握字符指针/指针数组/数组指针的用法【C语言/指针/进阶/程序员内功修炼】【上】
146 0
|
存储 小程序 程序员
8k字详解整型(int)/字符型(char)/浮点型(float)/有符号(signed)/无符号(unsigned)数据在内存中的存储【程序员内功修炼/C语言】
8k字详解整型(int)/字符型(char)/浮点型(float)/有符号(signed)/无符号(unsigned)数据在内存中的存储【程序员内功修炼/C语言】
135 0
|
程序员 测试技术 C语言
【C语言经典例题】——程序员必须会的经典基础例题(三)
【C语言经典例题】——程序员必须会的经典基础例题(三)
109 0
|
程序员 C语言
C语言 圣诞树(程序员的浪漫)
C语言 圣诞树(程序员的浪漫)
110 0
C语言 圣诞树(程序员的浪漫)
|
人工智能 程序员 编译器
【C语言指针详解-CSAPP数据段解析】1024程序员节 | 汇编语言机械级编程|用代码,改变世界#
【C语言指针详解-CSAPP数据段解析】1024程序员节 | 汇编语言机械级编程|用代码,改变世界#
114 0
【C语言指针详解-CSAPP数据段解析】1024程序员节 | 汇编语言机械级编程|用代码,改变世界#