使用函数求余弦函数的近似值

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:27:31
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入精度 e 和 x,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e。
cos(x) = x^0/0!-x^2/2!+x^4/4!-x^6/6!+……
要求定义并调用函数 funcos(e,x)计算 cos(x) 的值,函数形参e和x的类型均为double,函数类型是double。
输入输出示例:括号内是说明
输入:
2 (repeat=2)
0.001 0 (e=0.001, x=0)
0.0001 -3.14 (e=0.0001, x=-3.14)
输出:
sum = 1.000000
sum = -0.999999

#include "stdio.h"
#include "math.h"
double funcos(double e, double x);
int main(void)
{
int repeat, ri;
double e, sum, x;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%le%le", &e, &x);
/*---------*/
printf("sum = %f\n", sum);
}
}

/*---------*/
详细一点,我啥都不会..

#include "stdio.h"
#include "math.h"
double funcos(double e, double x);
int main(void)
{
int repeat, ri;
double e, sum, x;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%le%le", &e, &x);
/*---------*/
sum=funcos(e,x);
printf("sum = %f\n", sum);
}
return 0;
}

/*---------*/
double funcos(double e, double x)
{
int f,d,n,i;
double item,m,dm;
f=1;d=0;item=1;m=0;n=0;dm=1;
while(fabs(item)>=e){
if(d=0){dm=1;}
else{for(i=1;i<=d;i++)dm=1.0*dm*i;}
item=f*1.0*(pow(x,n))/dm;
m=m+item;
d=d+2;
f=-f;
n=n+2;}
return m;}

what's that?