扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
sum = fun(x,y,z); //这里,应当接收函数的返回值
创新互联从2013年创立,先为白云鄂等服务建站,白云鄂等地企业,进行企业商务咨询服务。为白云鄂企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
printf("f(x,y,z)=%f\n",sum);
math.h里的三角函数用的单位是弧度,你貌似错在这里。答案补充Example\x0d\x0a\x0d\x0a/*SINCOS.C:Thisprogramdisplaysthesine,hyperbolic\x0d\x0a*sine,cosine,andhyperboliccosineofpi/2.\x0d\x0a*/\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a\x0d\x0avoidmain(void)\x0d\x0a{\x0d\x0adoublepi=3.1415926535;\x0d\x0adoublex,y;\x0d\x0a\x0d\x0ax=pi/2;\x0d\x0ay=sin(x);\x0d\x0aprintf("sin(%f)=%f\n",x,y);\x0d\x0ay=sinh(x);\x0d\x0aprintf("sinh(%f)=%f\n",x,y);\x0d\x0ay=cos(x);\x0d\x0aprintf("cos(%f)=%f\n",x,y);\x0d\x0ay=cosh(x);\x0d\x0aprintf("cosh(%f)=%f\n",x,y);\x0d\x0a}答案补充Output\x0d\x0a\x0d\x0asin(1.570796)=1.000000\x0d\x0asinh(1.570796)=2.301299\x0d\x0acos(1.570796)=0.000000\x0d\x0acosh(1.570796)=2.509178\x0d\x0a\x0d\x0aParameter\x0d\x0a\x0d\x0ax\x0d\x0a\x0d\x0aAngleinradians
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
方法一,在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 转换角度到弧度。
例如: sin(45 /180.0*pi); 就是计算的sin45。
方法二,直接覆写三角函数。
例如sin函数:
double dsin(double d){
return sin(45 /180.0*pi); //原理和方法一样,调用的时候直接使用dsin(45)即可
}
调用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;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流