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

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

4个回答

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

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

sinat_31708793
sinat_31708793 回复mo_0820: 那请问应该怎样设置,还有溢出问题应怎样解决
4 年多之前 回复

不好意思,看错了。前面回答的不对,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)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问