//使用函数求余弦函数的近似值
//算的误差很大?
//因为循环判断条件中忘加fabs了
#include<stdio.h>
#include<math.h>
double funcos(double e,double x);
double fact(int n);
int main(int argc,char const *argv[])
{
double e,x;
printf("请输入精度e和自变量x:");
scanf("%lf%lf",&e,&x);
printf("我算的:cos(%.2f)=%.4f\n",x,funcos(e,x));
printf("计算机算的:cos(%.2f)=%.4f\n",x,cos(x));
return 0;
}
double funcos(double e,double x)
{
int flag=1,cnt=0;
double item=1.0;
double cosine=0;
while(fabs(item)>=e)
{
item=flag*pow(x,cnt)/fact(cnt);
cosine+=item;
flag=-flag;
cnt+=2;
}
return cosine;
}
double fact(int n)
{
int i;
double fact=1;
for(i=1;i<=n;i++)
{
fact*=i;
}
return fact;
}
5-7 使用函数求余弦函数的近似值
最新推荐文章于 2022-04-23 14:05:11 发布