C语言的库函数math中就有,不过输入参数是弧度,你将角度转为弧度即可
创新互联主要从事网站设计、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务榆林,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
可能是你定义的数据类型不对,你对照函数原型看看。还有sin(x)里面的x是弧度不是角度,所以30度应该换算成弧度=30*π/180
这里没有现成的三角函数,你任务要求的精度是多少?把所有可能的θ值代入,在电脑里算出这个式子的所有结果,然后把结果做成数据表,在程序里做个子程序查表就可以了,速度比算个乘法都快。
调用math.h中的三角函数,需要将角度值变换为弧度值,代码如下:
#includestdio.h
#includemath.h
#define PI 3.14159265359
int main()
{
float st,a;
scanf("%f",st);
a = st * PI/180;
printf("sin(st)=%f\n", sin(a));
printf("cos(st)=%f\n", cos(a));
return 0;
}
1.
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
2.
方法一,在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用
pi
=
4.0
*
atan(1)
算出pi,用
a
=
d
/180.0*pi
转换角度到弧度。
例如:
sin(45
/180.0*pi);
就是计算的sin45。
3.
方法二,直接覆写三角函数。
例如sin函数:
double
dsin(double
d){
return
sin(45
/180.0*pi);
//原理和方法一样,调用的时候直接使用dsin(45)即可
}