已知sinx=x-x^3/3!+x^5/5!-...编写程序,求sinx的近似值,要求误差小于10^-8
解题思路:
模拟
代码如下:
#include<stdio.h>
#include<math.h>
void sinn(double x)
{
double sum=0.0;//sin值
double tmp=x;
int n=1;
while(fabs(tmp)>1e-8)//判断是否到达精度
{
sum+=tmp;//累加
tmp= -tmp*x*x/(n+1)/(n+2);//单项变下一项
n+=2;
}
printf("%lf\n",sum);
}
int main()
{
double x;
while(~scanf("%lf",&x))
{
sinn(x);
}
return 0;
}
运行结果: