用C语言求cosX的值

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:33:06
用泰勒公式,没有要求的精确度,n循环随便几次好了

x -- 用弧度值输入
精度 -- 1E-07
泰勒公式:
cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! ...
程序:
#include<stdio.h>
#include<math.h>
void main(){
double x,term,sum,x2;
int i;

printf("input x in HuDu\n");
scanf("%lf",&x);
x2 = x * x;
sum = 1.0;
term = 1.0;

for (i=2;i<20;i=i+2){
term = term*x2/(double) (i * (i-1)) * (-1.0);
if (fabs(term) < 1.0E-07) break;
sum = sum + term;
}
printf("cos(x)=%lf\n",sum);
}

--------------
算例:
1.570796
cos(x)=0.000000
0.78539
cos(x)=0.707113
3.14159
cos(x)=-1.000000