简单的求三角函数sin,cos的图像

作为一个刚刚学习C语言十来天的小白,看了c语言趣味一百例的前两道,还是很有兴趣的,所以就进行对第一问的尝试

cos图像的程序如下

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

int main()

{
    double y;
    int x,m;
    for(y = 1;y >= -1;y -= 0.2)      //  函数的y轴图像,从1到-1,每隔0.2打印一次图像
    {
        m = acos(y) * 5;    //  使用反函数arccos计算x,y的关系,乘5为放大倍数

        for(x = 1;x < m;x++)    //    打印函数的一半图像
        {
            printf(" ");
        }
        printf("*");
        for(;x < 31 - m;x++)    //    打印另一半图像
        {
            printf(" ");
        }
        printf("*\n");
    }
    return 0;
}

运行图像如下
简单的求三角函数sin,cos的图像

sin函数的图像就不是那么简单了

sin函数的图像我一开始并没有直接打出来,所以是使用类似与cos的图像一样,先打y轴正半轴的图像后再打出y负半轴的图像后拼接到一起的,但是sin图像负半轴的图像并不是那么简单,花了好一番时间。

 

#include <stdio.h>

#include <math.h>
int main()
{
    int x,m;
    double y;
    for(y = 1;y >= 0;y -= 0.1)
    {
        m = 10 * asin(y);                                           
        for(x = 0;x < m;x++)
        {
            printf(" ");
        }
        printf("+");
        for(;x < 31 - m;x++)
        {
            printf(" ");
        }
        printf("+\n");
    }
    for(y = 0; y > -1;y -= 0.1)
    {
        m = 10*asin(y);
        for(x = 1;x < 34 - m;x++)
        {
            printf(" ");
        }
        printf("+");
        for(;x < 63 + m;x++)
        {
            printf(" ");
        }
        printf("+\n");
    }

    return 0;
}
图像如下

简单的求三角函数sin,cos的图像