重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
double 改成float
创新互联从2013年创立,先为管城等服务建站,管城等地企业,进行企业商务咨询服务。为管城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
我系统里是asin,不是arcsin
其它以无问题,运行良好而正确。
double 与float计算没太大区别,输入输出有区别。printf和scanf函数根据"%f"会把后面的参数看成float.
printf,scanf没有认double的能力。
#include math.h //包含数学函数库就可以了
//可以使用atan() asin(), acos()等进行反三角函数计算
Q1=(int)acos((abs(xe-x)/r));
Q2=(int)acos((abs(x-x0))/r);
改成
Q1=(int)acos((fabs(xe-x)/r));
Q2=(int)acos((fabs(x-x0))/r);
因为原来的acos里面的 都是整数相除,结果是一个整数,发生截断了。fabls返回的是double,再相除就没有问题。
#includestdio.h
#include math.h
void main()
{
double a,b,c,d;
scanf("%f,%f",b,d);
a=sin(b);/*这是三角函数*/
c=asin(d);/*这是反三角函数*/
printf("sin(b)=%f,asin(d)=%d",a,c);
}
其他三角函数如cos(x)什么的,可以直接用,前提有math.h的头文件