满意答案
tymy8288
2020.01.05
采纳率:54% 等级:9
已帮助:660人
#include
#include
int
main(void)
{
double
x,
e,cosx;
double
funcos(double
e,int
x);
printf("e:
");
scanf("%lf",&e);
printf("x:
");
scanf("%lf",&x);
//这里是%lf
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return
0;
}
double
funcos(double
e,int
x)
{
int
flag,a,i;
double
sum,item;
double
fact(int
n);
item=1;
//这个初始化要大于e,否则不执行下面
flag=1;
a=0;
i=0;
sum=0;
while(fabs(item)>=e){
item=(flag*pow(x,a))/fact(i);
sum=sum+item;
flag=-flag;
a=a+2;
i=i+2;
}
return
sum;
}
double
fact(int
n)
{
int
i;
double
result;
result=1;
for(i=1;i<=n;i++){
result=result*i;
}
return
result;
}
00分享举报