#include<stdio.h>
#include<math.h>
int main()
{
double x,sum=1,fm=1,fz=1;/*结果为sum,fm即分母,fz即分子*/
int count=1,z=0;/*count为累加的项数,z为指数*/
scanf("%lf",&x);
while(fz/fm>=0.00001)/*最后一项的绝对值小于10的负5*/
{
fm=1;/*首项分母为1*/
count++;
fz=pow(x,z+2);/*分子=x的z+2次幂*/
for(int i=1;i<=z+2;i++)/*分母阶乘*/
{
fm=fm*i;
}
z=z+2;/*分母阶乘数字的规律*/
sum=sum+pow(-1,count+1)*(fz/fm);
/*pow(-1,count+1)控制项数的正负*/
}
printf("cos(x)=%.6lf\n",sum);
printf("count=%d",count);
}
用c语言解决《基于泰勒级数展开求余弦函数值》
最新推荐文章于 2024-01-18 18:02:15 发布