输入精度e,求cos(x)近似值,要求精确到最后一项的绝对值小于e,且定义并调用函数funcos(e,x),有式:cos(x)=pow(x,0)/0!-pow(x,2)/2!+pow(x,4)/4!-pow(x,6)/6!+………………#include#includemain(){double e,x,sq

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/25 03:19:40
输入精度e,求cos(x)近似值,要求精确到最后一项的绝对值小于e,且定义并调用函数funcos(e,x),有式:cos(x)=pow(x,0)/0!-pow(x,2)/2!+pow(x,4)/4!-pow(x,6)/6!+………………#include#includemain(){double e,x,sq

输入精度e,求cos(x)近似值,要求精确到最后一项的绝对值小于e,且定义并调用函数funcos(e,x),有式:cos(x)=pow(x,0)/0!-pow(x,2)/2!+pow(x,4)/4!-pow(x,6)/6!+………………#include#includemain(){double e,x,sq
输入精度e,求cos(x)近似值,要求精确到最后一项的绝对值小于e,且定义并调用函数funcos(e,x),
有式:cos(x)=pow(x,0)/0!-pow(x,2)/2!+pow(x,4)/4!-pow(x,6)/6!+………………
#include
#include
main()
{
double e,x,sq;
double funcos(double e,double x);
printf("Enter e,x:");
scanf("%lf,%lf",&e,&x);
sq=funcos(e,x);
printf("cos(%.2f)=%f",x,sq);
return 0;
}
double funcos(double e,double x)
{
int flag=1,n=0;
double fact(int n);
double item,sum;
do{
item=flag*pow(x,2*n)/fact(2*n);
sum+=item;
n++;
flag=-flag;
}while((item/flag)>=e);
return sum;
}
double fact(int n)
{
int i,fact=1;
for(i=1;i

输入精度e,求cos(x)近似值,要求精确到最后一项的绝对值小于e,且定义并调用函数funcos(e,x),有式:cos(x)=pow(x,0)/0!-pow(x,2)/2!+pow(x,4)/4!-pow(x,6)/6!+………………#include#includemain(){double e,x,sq
指出几个问题吧..
(1)double funcos(double e,double x);函数申明应该放在main函数外面;
(2)double funcos(double e,double x)函数里面的sum变量没有初始化,item最好也初始化一下;
(3)double fact(int n)函数应该在main函数之前申明一遍,而且里面最好不要使用fact变量.

1