c语言的一道题目,一道C语言题目

一道C语言题目求助

输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。

然后我是这么做的没有错误但是不能算出要求的东西

#include

#include

int main(void)

{

double e,result,x;

double funcos(double e,double x);

printf("输入精度:");

scanf("%lf",&e);

printf("x=");

scanf("%lf",&x);

result=funcos(e,x);

printf("cos %f = %f",x,result);

}

double funcos(double e,double x)

{

int flag,digit,i;

double denominator,sum,item,numerator;

sum=0;

item=1.0;

denominator=1.0;

flag=1;

numerator=1.0;

digit=0;

while(fabs(item)>=e)

{

item=flag*numerator/denominator;

numerator=numerator*x*x;

digit=digit+2;

denominator=1.0;

for(i=digit;i>=1;digit--)

denominator=denominator*i;

flag=-flag;

sum=sum+item;

}

return sum;

}

求指导哪里错误了

C

math.h

------解决方案--------------------

#include

#include

double funcos(double e,double x);

double fact(int x);

int main(void)

{

double e,x,y;

printf("Input e:");

scanf("%lf",&e);

printf("Input x:");

scanf("%lf",&x);

y=funcos(e,x);

printf("cos%lf=%.2lf\n",x,y);

return 0;

}

double funcos(double e,double x)

{

int n,p;

double z,m;

z=p=0;

n=1;

while(1)

{

m=pow(x,p)/fact(p);

if(m

break;

z=z+n*m;

n=-n;

p=p+2;

}

return z;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值