满意答案
HwaseungOZn
推荐于 2016.10.31
采纳率:53% 等级:11
已帮助:8053人
||#include "stdio.h"
#include "math.h"
#define PI 3.14156
float cosx(float x);
float fun_cos(float x, int m);
int main()
{
float x = PI/2;
printf("cos(%f)=%f\n",x,cos(x));//使用系统函5261数cos计算41021653
printf("cosx(%f)=%f\n",x,cosx(x));//使用泰勒公式计算
return 0;
}
float fun_cos(float x, int m)
{
float ret_val;
int i;
if (m%2 == 0)
{
ret_val = 1.0;
}else
{
ret_val = -1.0;
}
for (i=1;i<=2*m;i++)
{
ret_val = ret_val * x/i;
}
return ret_val;
}
float cosx(float x)
{
float ret_val = 1.0;
float temp_ret;
int m = 1;
float Pi = 3.1415926;
if (x > 2*Pi || x < -2*Pi)
{
x = x-((int)(x/(2*Pi)))*(2*Pi);
}
do
{
temp_ret = fun_cos(x,m++);
ret_val += temp_ret;
} while (temp_ret>0.00005 || temp_ret
return ret_val;
}
00分享举报