运行不出结果,请各位帮我看下哪条语句错了?
题目:要求调用和定义函数funcos(e,x)求余弦函数的近似值。精确到最后一项的绝对值小于e。cos(x)=x^0/0!-x^2/2!+x^4/4!-x^6/6!+…
我写的程序如下:
#include<stdio.h>
#include<math.h>
int main(void)
{
double e,x,result;
double funcos(double e,double x);
printf("Enter e,x:");
scanf("%lf,%lf",&e,&x);
result=funcos(e,x);
printf("result=%.4f\n",result);
return 0;
}
double funcos(double e,double x)
{
int i;
double item,sum;
item=1;sum=1;i=2;
while(i>=2&&fabs(item)>=e){
item=-1.0*x*x*(2*i-2)*(2*i-3)*item;
sum=sum+item;
}
return sum;
}
说明:item的第一项无法用红色部分的语句表示,因此我将sum的初始值设为1。
我用的编译器是VC++6.0。
问题:1.编译可以通过,为什么运行之后输入e,x后没有任何反应,也没有提示错误。
2.红色语句中的x是调用我输入的x的值吗?我怀疑这个地方有问题。
3.返回值为sum,但最后要求输出result的值。由于是模仿课本的,这个地方不明白?