利用泰勒级数sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9)! … 计算sin(x) 的值。要求最后一项的绝对值小于10^(-5),并统计出此时累加了多少项。
#include <math.h>
#include <stdio.h>
void main()
{
int n = 1,count = 1;
float x;
double sum , term;
printf("Input x: ");
scanf("%f", &x);
sum = x;
term = x;
do
{
//从第二项开始的也这是
term = -term*x*x/((n+1)*(n+2));//每一项的项数,有规律的,每一项与前一项的区别
sum = sum + term;//求和
n+=2;
count++;//数数
}while (fabs(term) >= 1e-5);
printf("sin(x) = %f, count = %d\n", sum, count);
}
思路:
1 · x3 / 3! x5 / 5! pow(x,3)==》后来并没有用到,循环也可以解决次方问题
2 · 1 3 5 7.。。。。。2i-1
注意:
在这个代码里,我发现了怎么表达**10^(-5)***这个数了,不光可以用pow函数来表示
另外,这种***循环***的思路不错。