如果只是需要值,那么調(diào)用math中的sin和cos函數(shù)即可.
成都創(chuàng)新互聯(lián)公司主營金塔網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),金塔h5小程序設(shè)計(jì)搭建,金塔網(wǎng)站營銷推廣歡迎金塔等地區(qū)企業(yè)咨詢
參數(shù)為弧度, 如果要使用的參數(shù)是角度,需要自行轉(zhuǎn)換一下.
如果想自己寫,可以參考泰勒展開, 計(jì)算近似值.一般計(jì)算到最后一項(xiàng)小于1e-6即可.
cosx函數(shù)
#includestdio.h
#includemath.h
int main()
{
int n=0;
double x,sum=0;
printf("please enter x:");
scanf("%lf",x);//
double cosx(double x,int n);
do
{
sum=sum+cosx(x,n);
n=n+1;
}
while(fabs(cosx(x,n))1e-8);
printf("%9.8f\n",sum);
return 0;
}
double cosx(double x,int n)
{
double p,q;//
p=pow(x,2*n);
double fact(int n);//
q=fact(2*n);
if(n%2)
return(-p/q);
else
return(p/q);
}
double fact(int n)//
{
double ans=1; int i;
if(n=1)
return 1;
for(i=1;i=n; ++i)
ans*=i;
return ans;
}
cosx函數(shù)即反余弦函數(shù)
函數(shù)y=cosx(x∈[0,π])的反函數(shù)叫做反余弦函數(shù),
記作y=arccosx(x∈[-1,1]).
頭文件包含。math.h
cos
:余弦函數(shù)
函數(shù)原型:double
cos(double
x);
頭文件:#includemath.h
是否是標(biāo)準(zhǔn)函數(shù):是
函數(shù)功能:求x的余弦值,這里,x為弧度。
返回值:計(jì)算結(jié)果的雙精度值。
例程如下:
求cosx。
#include
stdio.h
#include
math.h
int
main(void)
{
double
result;
double
x
=
M_PI;
result
=
cos(x);
printf("cos(PI)
is
%lf\n",
result);
return
0;
}
sin:正弦函數(shù)
函數(shù)原型:double
sin(double
x);
頭文件:#includemath.h
是否是標(biāo)準(zhǔn)函數(shù):是
函數(shù)功能:求x的正弦值,這里,x為弧度。
返回值:計(jì)算結(jié)果的雙精度值。
例程如下:
求sinx。
#include
stdio.h
#include
math.h
int
main(void)
{
float
x;
x=M_PI/2;
printf("sin(PI/2)=%f",sin(x));
getchar();
return
0;
}
包含它的頭文件是math.h
引用后就可以直接用了
庫內(nèi)部函數(shù)申明:1:double
sin(double
x);
2:double
cos(double
x);
/////////////////////////////////////////
//自己實(shí)現(xiàn)(
簡單檢驗(yàn)):
#includestdio.h
#includemath.h
void
main(void)
{
double
x1=35.77;
double
x2=65.44;
printf("sin(x1)=%f,sin(x2)=%f\n",sin(x1),sin(x2));
}
scanf時(shí),float 用 %f ,double 用 %lf. 因?yàn)閟canf不知道你傳的是float還是double數(shù)的地址,你必須通過%f %lf來告訴它這一點(diǎn)。
printf時(shí),float、double都用%f,無需區(qū)分,因?yàn)榧词鼓銈鞯氖莊loat,也會(huì)被編譯器先自動(dòng)轉(zhuǎn)換為double再交給printf.