十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。
创新互联建站从2013年开始,先为绥中等服务建站,绥中等地企业,进行企业商务咨询服务。为绥中企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
例子:
#include math.h
main(){
double answer = sin(0.5);
printf("sin(0.5) = %f\n", answer);
}
执行
sin(0.5) = 0.479426
C语言sin():
sin()原型:double sin(double x)
sin()角度与弧度:
π=180°
1°=π/180
1(rad)=180/π
角度转弧度:用角度乘以π/180
弧度转角度:用弧度乘以180/π,或者用rtod()函数
扩展资料:
与sin相似的acos函数
函数名: acos
功 能:计算并返回arccos(x)值、要求-1=X=1
函数与形参类型:
double acos(x)
double x;
程序例:
#include stdio.h
#include math.h int main(void)
{
double result;
double x = 0.5; result = acos(x);
printf("The arc cosine of %lf is %lf\n", x, result);
return 0;
}
参考资料:CSDN博客频道-C语言中sin和cos的用法
径度与角度不同
建议修改如下:
#include stdio.h
#include math.h
#define PI 3.14159265
void main()
{
float x;
double y;
printf("入角度值:\n");
scanf("%f",x);
y=sin(x*PI/180);
printf("sin(%f°)=%2lf\n",x,y);
}
这是圆周率数值的截断误差引起的,算出的向量就是接近0的负数。
要想得正0,圆周率给个 (四舍)五入值:
pai=3.14159265359;
就可以了。
但不能保证别的特殊的输入数会不会 该正0 出现负0。
C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果
下面用for循环实现sin的算法,程序代码如下:
#includestdio.h
#includemath.h
void main()
{
int i;
float x,sum,a,b; //sum代表和,a为分子,b为分母
char s;
printf("please input x");
scanf("%f",x);
s=1;
sum=0;
a=x; //分母赋初值
b=1; //分子赋初值
for(i=1;a/b=1e-6;i++)
{
sum=sum+s*a/b; //累加一项
a=a*x*x; //求下一项分子
b=b*2*i*(2*i+1); //求下一项分母
s*=-1;
}
printf("sum=%f\n",sum);
}
3. 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加