c语言不调用math库编写sin函数
发布网友
发布时间:2022-12-30 16:00
我来回答
共1个回答
热心网友
时间:2023-10-30 21:49
#include<stdio.h>
#include <math.h>
//先定义一个阶乘函数
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 = chengf*n;
}
return chengf;
}
double sinus(double x){
int z =-1;
int j =1;
double sin=x;
for (j =3;fabs( kvat(x,j)/fac(j) )>0.001 ; j+=2) {
// printf("%lf\n",kvat(x, j));
sin =sin + z*(kvat(x,j)/fac(j));
z = -z;
}
return sin;
}
int main(){
double jd,hu;
scanf("%lf",&jd);
hu = (jd*M_PI)/180;//这里的M_PI在math库里就是 圆周率pai
printf( "%.3lf",sinus(hu));
return 0;
}