学习笔记-用c实现三角函数的计算

刚刚编好,记录一下:

#include <stdio.h>
#include <math.h>
int main(void)
{
    while(1)
    {
        double n;
        double s;
        double c;
        double t;
        double pi = 3.14159265358979323846264338327;
        scanf("%lf",&n);
        s=sin(n*2*pi/360); //求n的sin()值,并返回给n
        c=cos(n*2*pi/360); //求n的cos()值,并返回给n
        t=tan(n*2*pi/360);//求n的tan()值,并返回给n
         printf("sin %f = %.15lf\n",n,s);//输出
        printf("cos %f = %.15lf\n",n,c);//输出
        printf("tan %f = %.15lf\n",n,t);//输出
    }
}

π用了近似值,不过也够用了。值得注意的是math.h中的三角函数使用弧度做单位的,必须进行转换。不过,这只是输入以度为单位的三角函数值,也有以度分秒为单位的:

#include <stdio.h>
#include <math.h>
int main(void)
{
    while(1){
    double a;
    double b;
    double c;
    double n;
    printf("输入:度,分,秒\n");
    scanf("%lf,%lf,%lf",&a,&b,&c);
    n = a + b/60 +c/3600;
    printf("度数:%.10lf\n",n);
        double s;
        double t;
        double pi = 3.14159265358979323846264338327;
        s=sin(n*2*pi/360); //求n的sin()值,并返回给n
        c=cos(n*2*pi/360); //求n的cos()值,并返回给n
        t=tan(n*2*pi/360);//求n的tan()值,并返回给n
        printf("sin %f = %.15lf\n",n,s);//输出
        printf("cos %f = %.15lf\n",n,c);//输出
        printf("tan %f = %.15lf\n",n,t);//输出

    }
 }

这里面顺便将度分秒格式的转化为了度,还是挺好用的。

-------------------------------------------------------------------------------------------2018-6-18更新----------------------------------------------------------------------------------------------------------------------------

最近又尝试用上面算出的值反过来求角度,用了反三角函数,结果如下:

#include <stdio.h>
#include <math.h>
int main(void)
{
    while(1)
    {
        double n;
        double s;
        double c;
        double t;
        double pi=3.14159265358979323846264338327;
        printf("输入:sin/cos/tan值\n");
        scanf("%lf",&n);
        s=asin(n)*360/(2*pi); //求n的asin()值,并返回给n
        c=acos(n)*360/(2*pi); //求n的acos()值,并返回给n
        t=atan(n)*360/(2*pi);//求n的atan()值,并返回给n
        printf("asin %f = 角度%.15lf\n",n,s);//输出
        printf("acos %f = 角度%.15lf\n",n,c);//输出
        printf("atan %f = 角度%.15lf\n",n,t);//输出
    }
 }

反三角函数算出来的是弧度,需要转化为角度。

转载于:https://www.cnblogs.com/emptyahxg/p/9193504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值