如题,如何实现下列运算



#include<iostream>
using namespace std;
float main()
{
    float a, b, i,sum;
    a = 1.0;
    b = 2.0;
    i = 1.0;
    sum = 0;
    for (; i <= 20; i++)
    {
        sum = sum + b / a;
        a = b;
        b = a + b;

    }
    cout << "前20项之和为:" << sum << endl;
    return 0;
}

以上代码输出的值为40;望指正

a=b;后a被修改为b了,所以b=a+b这时候的a已经不对了


#include<iostream>
using namespace std;
int main() {
    float a, b, i,sum,t;
    a = 1.0;
    b = 2.0;
    i = 1.0;
    sum = 0;
    for (; i <= 20; i++) {
        sum = sum + b / a;
        t=a;
        a = b;
        b = t + b;
    }
    cout << "前20项之和为:" << sum << endl;
    return 0;
}


 有帮助请采纳

img