您的位置:

c语言sin等于0,sin函数等于0

本文目录一览:

c语言中sin是啥?

C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。

例子:

#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的用法

c语言sin函数

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泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加

C语言正弦函数

径度与角度不同

建议修改如下:

#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);

}

c语言计算sinx的值问题,运行无错但得不到想要的结果.求解

/*sin(x)的泰勒展开式

sin(x)=x-x**3/(3!)+x**5/(5!)+........

*/

#include

#include

#define

PI

3.1415926

void

main()

{

int

n=1,c=1,a,b=1;

long

double

x,d=0,sinx=0;//这里定义长双精度,long

float不是标准的数据类型

printf("请输入x的值:");

scanf("%lf",x);//这里输入一定是%lf,输入一开始就不对

for(n=1,c=1,a=1;;a++)

{

d=pow(x,n)/c;

sinx+=b*d;

b*=-1;

n++;

c*=n;

n++;

c*=n;

if(d1e-5)//可以写成1e-5,不需再调用函数

{

break;

}

}

printf("sinx的值为%f\n",sinx);

printf("运行的项数为%d\n",a);

printf("sin(x)的值为%lf\n",sin(x));//作测试对比,注意输入为弧度

}

用C语言算SIN30度得0是怎么回事

因为计算顺序,在算30/180的时候,因为是int的,所以结果是0,0*3.14159还是0,sin0还是0,所以你要写成30.0/180,当然或者把180写成180.0也可以,或者都用x.0这样,就会自动转为double类型,或者你直接指定是double类型或者float类型,这点一定要注意