使用函数求余弦函数的近似值
呜呜呜呜为什么这样一个题你们做起来又轻松,代码写的还简洁,而我写的这么麻烦wwww我是fw
题目
#include <stdio.h>
#include <math.h>
double funcos( double e, double x );
int main()
{
double e, x;
scanf("%lf %lf", &e, &x);
printf("cos(%.2f) = %.6f\n", x, funcos(e, x));
return 0;
}
/* 你的代码将被嵌在这里 */
我写的
double funcos( double e, double x )
{
int mi=0; //代表的是x的幂数
double zuihouyixiang=0.0; //代表的意思是最终结果
int xishu=0; //代表的是将要相加的每项的正负 ,后面借助-1完成的
double jiecheng;//每一项的分母
double d=1; // 用来判断是不是小于e
while(d>=e)
{
jiecheng=mi;
double fuzhujie=jiecheng-1;
if(jiecheng!=0)
while(fuzhujie>0) /*这里是求阶乘*/
{
jiecheng=jiecheng*fuzhujie;
fuzhujie--;
}
else
jiecheng=1;
d=pow(-1,xishu++)*pow(x,mi)/jiecheng; //为了求出项的判断大小
zuihouyixiang=zuihouyixiang+d; //求累加
if(d<=0)
d=-d;
mi+=2;
}
return zuihouyixiang;
}