这是一道近似计算题目,不知道那个地方错了。

https://img2.mukewang.com/5b90e269000172f905380088.jpg

题目是这样,我的代码是这样:

{

    int i;

    double b=1,a;


    for(a=1,i=0; (1.0/a)>=1e-6; i++)

    {

        b+=(1/a)*(-1)*i;

        a=a+2;

   printf("%f   %f\n",b, 1.0/a);


    }

    printf("%lf",b);

    return 0;

}

https://img2.mukewang.com/5b90e49700012b7f06770442.jpg


慕用7336610
浏览 2388回答 2
2回答

凉城_5

b+=(1/a)*(-1)*i; // 这里不对,正负转换未成功,不应该(-1)*i,应该写成(-1)的次幂

AAnonymous

#include <cstdio> int main() {     double result = 0.0;     for (int i = 1, flag = 1; (1.0 / i) >= 1e-6; i+=2, flag *= -1) {         result += (1.0 / i) * flag;     }     printf("%f\n", result); }
打开App,查看更多内容
随时随地看视频慕课网APP