c语言循环语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:37:32
s=x-x3/3!+x5/5!-…… (-1)n+1 x2n-1 /(2n-1)! 终止条件:最后一项 (-1)n+1 x2n-1 /(2n-1)!的绝对值小于10的-8次方.

sin函数的泰勒展开式

#include <stdlib.h>
#include <math.h>
main(){

int n=1;
double s,x,tmp;
scanf("%f",&x);
tmp=x;
s=x;
for(n=3;tmp>=1e-8;n+=2){
tmp=(-1)*tmp*x*x/n/(n-1);
s+=tmp;
}
printf("\nS=%f",s);
}

什么意思?

#include "stdio.h"
#include "math.h"
main()
{
double i,x,s,fenzi,fenmu,t;
scanf("%lf", &x);
s=x; // 初始化为第一项的值
i=1;
fenzi=x;
fenmu=1;
while(fabs(t)>=1e-8)
{
fenzi *= (x * x); // 每一项的分子
fenmu *= ((2*i)*(2*i+1)); // 每一项的分母
t *= (-1) * fenzi / fenmu; // 每一项的值
s += t;
i++;
}
printf("\ns = %lf", s);
}

这个表达式实际上是sin(x)的泰勒多项式。
程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

int main(void)
{
double x = 0, exp = 1e-8, sinx