泰勒级数展开近似sin(x)的值
编写程序,从键盘输入x,利用幂级数展开计算sin(x)的近似值,要求某一项绝对值误差小于10^-5。 公式如下:
方法提示:对于类似的数列求和问题,关键是抽象出第i项的通用公式,将推导出的通用第i项累加到sum,直到第i项的绝对值小于1e-5为止。另外,注意奇偶项符号的处理。
输入格式:
输入x。
输出格式:
sin(x)的逼近结果。
输入样例:
在这里给出一组输入。例如:
0.5233
结尾无空行
输出样例:
保留4位小数。例如:
0.4997
#include<stdio.h>
#include<math.h>
int main()
{
float a,x,s;
int i=1;
scanf("%f",&x);
a=s=x;
do
{
a=-a*x*x/(i+1)/(i+2);
s+=a;
i+=2;
}while(fabs(a)>1e-5);
printf("%.4lf",s);
return 0;
}
今天又是完成老师布置的每日一练,今天的题目有点难度,一看是我有思路,但是后来写着写着就是得不到想要的结果,然后我就仔细去看我的代码,一步一步的运行,还是没有找到问题,后来我去网上看了别人做的,发现是我自己的逻辑有问题,从一开始我就是错的了,所以不管我在怎么努力也是做的无用功,所以我们在写代码是逻辑一定要对,这样才能更好更快的做题。