为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

慕用7336610 2018-09-06 16:26:23

https://img2.sycdn.imooc.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.sycdn.imooc.com/5b90e49700012b7f06770442.jpg


查看完整描述

4 回答

已采纳
?
凉城_5

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


查看完整回答
反对 2018-09-06
?
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);
}


查看完整回答
反对 2018-09-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信