zoukankan      html  css  js  c++  java
  • 控制台绘制正弦曲线和余弦曲线同时显示

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

    那么,如果想要同时显示的话,我们可能需要在同一行中绘制出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("*
    ");
            }
            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("*
    ");
            }
            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("*
    ");
            }
            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("*
    ");
            }
        }
        return 0;
    }
    

    这里写图片描述

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

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



    为使本文得到斧正和提问,转载请注明出处:
    http://blog.csdn.net/nomasp

  • 相关阅读:
    HDU 1078 FatMouse and Cheese(DP)
    HDU 1160 FatMouse's Speed(DP)
    作业DAY019
    作业DAY018
    作业DAY017
    作业DAY016
    作业DAY015
    作业DAY014
    作业DAY013
    作业DAY012
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4483253.html
Copyright © 2011-2022 走看看