用c语言编写sin和cos函数,拜托各位大虾了
求用C语言编写的实现sinx功能的程序,不用库函数里面的doublesin(doublex)离散公式是sinx=x-x^3/3!+x^5/5!-...+(-1)^(n-1...
求用C语言编写的实现sinx功能的程序,不用库函数里面的double sin(double x)
离散公式是
sin x=x-x^3/3!+x^5/5!-...+(-1)^(n-1)*x^(2n-1)/(2n-1)!+...
要求是输出为 sin(***)=*** cos(***)=*** 展开
离散公式是
sin x=x-x^3/3!+x^5/5!-...+(-1)^(n-1)*x^(2n-1)/(2n-1)!+...
要求是输出为 sin(***)=*** cos(***)=*** 展开
1个回答
展开全部
double sinx(double x)
{
double result=x,temp=x;
double den=x,fac=1;
int n=1,sign=1;
while((temp>1e-5)||(temp<-1e-5))
{
n++,fac*=n,den*=x;
n++,fac*=n,den*=x;
temp=den/fac;sign=-sign;
result=sign>0?result+temp:result-temp;
}
return result;
}
double cosx(double x)
{
x=1.57079-x;
return sinx(x);
}
main()
{
double a,b,c;
scanf("%lf",&a);
b=sinx(a);
c=cosx(a);
printf("sin(%lf)=%lf,cos(%lf)=%lf",a,b,a,c);
}
{
double result=x,temp=x;
double den=x,fac=1;
int n=1,sign=1;
while((temp>1e-5)||(temp<-1e-5))
{
n++,fac*=n,den*=x;
n++,fac*=n,den*=x;
temp=den/fac;sign=-sign;
result=sign>0?result+temp:result-temp;
}
return result;
}
double cosx(double x)
{
x=1.57079-x;
return sinx(x);
}
main()
{
double a,b,c;
scanf("%lf",&a);
b=sinx(a);
c=cosx(a);
printf("sin(%lf)=%lf,cos(%lf)=%lf",a,b,a,c);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询