注册 登录
编程论坛 C++教室

变成出现sinx=-1.#IND00的结果 是哪个地方出错了呢

hxl187654 发布于 2012-09-28 17:27, 518 次点击
#include<stdio.h>
#include<math.h>
int main()
{int n;
double x,p,sign,pi,sin;
printf("please input x=");
scanf("%f",&x);
pi=3.1415926;
x=x*pi/180;
sin=0;
p=x;
n=2;
sign=1;
while(n<=20)
{
   sin=sin+p;
   sign=(-1)*sign;
   
   p=sign*p*x*x/(2*n-1)/(2*n-2);
   n=n+1;
   if(fabs(p)<1e-9)break;
}
printf("sinx=%f\n",sin);
return(0);
}
2 回复
#2
寒风中的细雨2012-09-28 22:41
scanf  跟踪一下 打印x的值看是否输入数据成功
#3
pangding2012-10-01 10:30
是不是有函数出定义域了呀。
1