大学c++计算级数问题,求大神

大学生小白求大神,为什么输出为-1.#ind0000求大神!!!!大学生小白求大神,为什么输出为-1.#ind0000求大神!!!!大学生小白求大神,为什么输出为-1.#ind0000求大神!!!!图片说明图片说明

无限循环了,while条件改成1e8

计算精度设置错误,有时候还需要考虑收不收敛,对于大数还可能出现溢出错误。

不好意思,看错了。前面回答的不对,i=i*(i+1) 错了,加个参数,step ,另外,循环依旧结束不了,该终止条件吧,程序改成

double sign = 1, sum =1, n = 1, i = 1, x = 2, m = 0,step = 1;

do{
m = sign*pow(x,n)/i;
sum += m;
sign = -sign;
++ n;
i *= ++step;
cout << i << ' ' << endl;
}while( sum > 1e-8 );

应该是m的绝对值吧(fabs(m)<=1e-8)