码迷,mamicode.com
首页 > 其他好文 > 详细

控制台绘制正弦曲线和余弦曲线同时显示

时间:2015-04-30 07:37:25      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:显示   控制台   代码      算法   

看这一篇时如果不会绘制正弦/余弦曲线可以先看看这一篇哦:控制台绘制正弦/余弦曲线

那么,如果想要同时显示的话,我们可能需要在同一行中绘制出3个或者4个点了。我的思路比较简略,不过算法看上去非常非常不整洁,还望得到大家的帮助……

我通过Y等于二分之根号二和负二分之根号二以及Y轴将整个图形分成4层,从上往下依次绘制。具体看代码啦……

#include <stdio.h>
#include <math.h>

int main()
{
    double y;
    int x,k1,k2;
    for(y=1;y>=-1;y-=0.1)
    {
        k1=acos(y)*10;
        k2=asin(y)*10;

        if(k1<k2&&k2>=0)
        {
            for(x=1;x<k1;x++)
                printf(" ");
            printf("*");
            for(x=k1+1;x<k2;x++)
                printf(" ");
            printf("*");
            for(;x<30-k2;x++)
                printf(" ");
            printf("*");
            for(;x<62-k1;x++)
                printf(" ");
            printf("*\n");
        }
        else if(k2<k1&&1<=k2&&k2<=15)
        {
            for(x=1;x<k2;x++)
                printf(" ");
            printf("*");
            for(x=k2+1;x<k1;x++)
                printf(" ");
            printf("*");
            for(;x<30-k2;x++)
                printf(" ");
            printf("*");
            for(x=30-k2;x<62-k1;x++)
                printf(" ");
            printf("*\n");
        }
        else if(k1<(30-k2)&&(30-k2)<(62-k1)&&-15<=k2&&k2<=-1)
        {
            for(x=1;x<k1;x++)
                printf(" ");
            printf("*");
            for(;x<31-k2;x++)
                printf(" ");
            printf("*");
            for(;x<62-k1;x++)
                printf(" ");
            printf("*");
            for(;x<61+k2;x++)
                printf(" ");
            printf("*\n");
        }
        else if((62-k1)<(31-k2)&&-15<=k2&&k2<=-1)
        {
            for(x=1;x<k1;x++)
                printf(" ");
            printf("*");
            for(;x<62-k1;x++)
                printf(" ");
            printf("*");
            for(;x<31-k2;x++)
                printf(" ");
            printf("*");
            for(;x<61+k2;x++)
                printf(" ");
            printf("*\n");
        }
    return 0;
}

大家有什么更好的想法欢迎留言啊~

【这里还是源码,不需要资源积分】

控制台绘制正弦曲线和余弦曲线同时显示

标签:显示   控制台   代码      算法   

原文地址:http://blog.csdn.net/nomasp/article/details/45389379

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!