首页 > 解决方案 > 用 C 语言打印 0 到 90 度的 sin 值表

问题描述

以下是代码:

#include <stdio.h>

//to use 'sin()' function

#include <math.h>

int main()
{
    double i=0;

    //printing the values of sine table 
    printf("SINE TABLE :\n\n");
    while(i<=90){
        printf("sin(%.0lf)=%lf\n",i,sin(i));
        i+=15;
    }
    return 0;
}

我得到这个输出:

SINE TABLE :

sin(0)=0.000000  
sin(15)=0.650288 
sin(30)=-0.988032
sin(45)=0.850904
sin(60)=-0.304811
sin(75)=-0.387782
sin(90)=0.893997

但是当我用标准表检查时,这个表是错误的。我想要这个答案:

SINE TABLE :

sin(0)=0.000000  
sin(15)=0.258819 
sin(30)=0.500000
sin(45)=0.707107
sin(60)=0.866025
sin(75)=0.965926
sin(90)=1.000000

我应该做些什么改变?

标签: cmath

解决方案


C 的三角函数与弧度一起使用——您使用的是度数。

将你的弧度转换为度数,你应该得到你想要的结果:

i * M_PI / 180.0


如果您在M_PI未定义的系统上运行math.h- 请自行定义:

#define M_PI 3.14159265358979323846

推荐阅读