Double型数据的输出问题,请大家指点小弟一下。
题目很简单:计算输入X的级数:1+X-X^2/2!+X^3/3!-……(-1)^(n+1)X^n/n! 注:X^n为X的n次幂!将所有不小于绝对值10^-8的数都计入在内,输出精度为10^-8。下面的代码是我写的,应该没有问题了,可是输出地时候sum的值出现问题了。我截图给大家看哈,编译器VC6!
程序代码:
#include <iostream> #include <cmath> using namespace std; int main() { double x,Item=1,sum=0; double nume=1,deno=1; int sign=1,i=1; cout<<"Please enter the number:\n"; cin>>x; while (fabs(Item)>=1e-8) { sum+=Item; nume*=x; deno*=i++; Item=sign*nume/deno; sign*=-1; } cout.precision(8); cout<<"The result of "<<x<<" is "<<sum<<endl; return 0; }
后面Double型的sum输出就变为-1.#IND了,大家指教一下这是怎么回事儿?