c语言不调用math库编写sin函数

c语言不调用math库编写sin函数,第1张

#include<stdioh>

#include <mathh>

//先定义一个阶乘函数

double fac(double n){

double f=0;

if(n == 1 || n==0)

f =1;

else

f = fac(n-1)n;

return f;

}

//一个指数函数(次方)

double kvat(double n,double ci){

double chengf=1;

for (int i=1; i<=ci; i++) {

chengf = chengfn;

}

return chengf;

}

double sinus(double x){

int z =-1;

int j =1;

double sin=x;

for (j =3;fabs( kvat(x,j)/fac(j) )>0001 ; j+=2) {

// printf("%lf\n",kvat(x, j));

sin =sin + z(kvat(x,j)/fac(j));

z = -z;

}

return sin;

}

int main(){

double jd,hudu;

scanf("%lf",&jd);

hudu = (jdM_PI)/180;//这里的M_PI在math库里就是 圆周率pai

printf( "%3lf",sinus(hudu));

return 0;

}

程序没错!!!!!

我也在TC上运行正确!!

函数sin()的输入的精度足够高,要不假设它的精度才精确到小数点后2位,你想要4位的就不行的实际其精确度也是有限的

输出的双精度,你可以强制转化,如:

int

n;

n=(int)(sin(x));

这样不是可以变成int了

但这样似乎没用,不是0就是1了

当然了,x也可以是整数计算时,系统自动进行将x转为双精度型

程序结尾的getch();语句作用:

为了让你很好的看程序结果,

不让程序提前结束,

当然不用也可以看,但是上面不是显示"按任意键结束"吗

当你想看结果时,不小心按了哪个键看不到了

加上getch();后,这个函数的作用是从键盘(控制台)上接受一个字符

这样加了一次保险,不小心按一次,还可以看就象带保险套一样,按多了一次,也就会结束了

一句话,它就是为了让你安全看程序结果

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

例子:

#include <mathh>

main(){

double answer = sin(05);

printf("sin(05) = %f\n", answer);

}

执行

sin(05) = 0479426

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 <stdioh>

#include <mathh> int main(void)

{

double result;

double x = 05; result = acos(x);

printf("The arc cosine of %lf is %lf\n", x, result);

return 0;

}

参考资料:

CSDN博客频道-C语言中sin和cos的用法

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12462466.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存