1. 程式人生 > >如何用C列印心形

如何用C列印心形

原理很簡單主要用到了一個心形函式:

#include <stdio.h>
#include <windows.h>

int judge_1(double x,double y)
{
    return x==-0.125&&y==0.0;
}

int judge_2(double x,double y)
{
    return x==0.0&&y==0.0;
}

int judge_3(double x,double y)
{
    return x==0.125&&y==0.0;
}

int main()
{
    double i,j,a;

    system("color 0C");
    for(i=1.5;i>=-1.5;i-=0.0625)                        //浮點型只能準確儲存2的n次方的和,若每次跳躍的長度不為2的N次方的和,則會出現精度丟失
    {
        for(j=-1.5;j<=1.5;j+=0.0625)
        {
            a=(j*j+i*i-1)*(j*j+i*i-1)*(j*j+i*i-1);
            printf((j*j+i*i-1)*(j*j+i*i-1)*(j*j+i*i-1)-j*j*i*i*i<=0.0f?"■":"  ");
            printf(judge_1(j,i)?"\b\b\b\b抑  ":"");
            printf(judge_2(j,i)?"\b\b\b\b 鬱 ":"");
            printf(judge_3(j,i)?"\b\b\b\b  症":"");
        }
        puts("");
    }
}