c语言中求COS(x)近似值的问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 09:41:43
cos(x)=x^0/0!-x^2/2!+x^4/4!-x^6/6!+... 最后一项的绝对值小于e,用定义和调用funcos(e,x)来求?

#include<stdio.h>
#include<math.h>
const double E = 2.71828;
double funcos(const double e, float x)
{
double cos = 1,unit;
int i = -1,n = 2,sum = 1;
do
{
for(int j = 1; j <= n;j++)
{
sum *= j;
}
unit = pow(x,n/(sum*1.0));
printf("%f\n", unit);
cos += i*unit;
i *= -1;
sum = 1;
n += 2;
}while(unit >= e);
return cos;
}
int main()
{
float x;
printf("请输入度数:");
scanf("%f", &x);
double cos = funcos(E,x);
printf("cos(%f) = %f\n", x,cos);
return 0;
}