C语言求cos精确值 泰勒公式

Python014

C语言求cos精确值 泰勒公式,第1张

C语言程序:

#include <stdio.h>

#include <math.h>

int main()

{

double x

double sum1, sum2, f = 1

int i, t = 1

printf("x:")

scanf("%lf", &x)

i = 1

sum1 = sum2 = 1

for(i=2  i*=2)

{

f *= (i -1)

f *= i

t *= -1

sum2 += t * pow(x, i) / f

if(abs(sum2 - sum1) < 1e-6)

{

break

}

sum1 = sum2

}

printf("cos(%lf) = %lf\n", x, sum2)

return 0

}

运行测试:

x:2

cos(2.000000) = -0.333333

double fact(int a){

int i 

double sum //返回值类型是double,你这里应该定义成相同的类型才对

sum=1

for(i=1i<=ai++)sum=sum*i

return sum

}

double funcos(double e, double x){

double dcos,xiang //cos是math中的一个函数名,不能与之重复

int a,fuhao

dcos=0,fuhao=1,a=0

do{

xiang=pow(x,a)/fact(a)

dcos=xiang*fuhao+dcos

a=a+2

fuhao=-fuhao

}while(xiang>=e)  //要这样写才能精确

return dcos

}