十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
开头必须有一个数学函数库 #includemath.h
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都做网站、卫辉网络推广、微信平台小程序开发、卫辉网络营销、卫辉企业策划、卫辉品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供卫辉建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
然后一般常用的
sin(x)
cos(x)
tan(x)
其中的x必须要以弧度为单位。如果以“度”为单位,比如说求30度的正弦值,要用
sin(x*180/3.1415926)的形式
arcsin(x)
arccos(x)
arctan(x)
arccot(x)
以上四个则是相应的反三角函数,函数值的单位也是弧度。若要求arctan(1)的度数,要用以下的形式: arctan(1)*180/3.1415926
扩展资料
C语言的三角函数库采用的单位都是弧度,如果要使用角度,就必须转换,从角度转换成弧度,或者是重写一个三角函数库。
在调用三角函数之前先把角度换算成弧度,调用反三角函数之后把弧度换算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 转换角度到弧度。
例如: sin(45 /180.0*pi); 就是计算的sin45。
参考资料:c语言 - 百度百科
包含头文件 math.h
反3角函数有 acos(double),asin(double),atan(double),atan(double,double),
返回值 double 型,弧度值。转角度要 *180.0/3.1416
例如:
#include stdio.h
#includemath.h
int main()
{
double x=0.5;
printf("acos=%.2lf degrees\n",acos(x) * 180.0/3.1416);
printf("asin=%.2lf degrees\n",asin(x) * 180.0/3.1416);
printf("atan=%.2lf degrees\n",atan(x) * 180.0/3.1416);
printf("atan2=%.2lf degrees\n",atan2(1.0,2.0) * 180.0/3.1416);
return 0;
}
sacnf("%s",a);这个语句根本没的用。就算输入到a,也只会被当成字符串来处理。
printf("%f",j);这个语句不知道是不是你写错了,j前面没逗号。
你想想反余切的公式就可以编程 出来了,这个东西最好要自己实践,别人帮你只是指导你,对你编程没有实际的好处。
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,再相除就没有问题。
这里没有现成的三角函数,你任务要求的精度是多少?把所有可能的θ值代入,在电脑里算出这个式子的所有结果,然后把结果做成数据表,在程序里做个子程序查表就可以了,速度比算个乘法都快。
用自带的函数库
#include stdio.h
#include math.h
#define M_PI 3.14159265358979323846
int main(void)
{
printf("%.4f\n", sin(M_PI / 2));
printf("%.4f\n", cos(M_PI / 3));
printf("%.4f\n", asin(1.00));
printf("%.4f\n", acos(0.50));
printf("%.4f\n", tan(M_PI / 4));
printf("%.4f\n", atan(1.00));
return 0;
}