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

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

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

慕用7336610 2018-09-06 16:26:23
题目是这样,我的代码是这样:{    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;}
查看完整描述

2 回答

已采纳
?
凉城_5

TA贡献1条经验 获得超0个赞

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


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

TA贡献62条经验 获得超31个赞

#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
  • 2 回答
  • 0 关注
  • 2387 浏览

添加回答

举报

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