有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求这个数列的前20项之和,用do-while怎么写代码

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求这个数列的前20项之和,用do-while怎么写代码

代码如下,如有帮助,请帮忙采纳一下,谢谢。

#include <stdio.h>
int main()
{
    int fz =2,fm =1,i=0,t;
    float sum = 0;
    do 
    {
        sum += (float)fz/fm;
        t = fz+fm;
        fm = fz; //分母等于上一个数的分子
        fz = t; //分子等于上一个数的分子和分母的和
        i++;
    } while (i<=20);
    printf("%f",sum);
    return 0;
}

#include <stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    int n = 0;
    float sum = 0;
    int N=20;
    while (n < N)
    {
        sum += b / (float)a;
        printf("%d/%d", b, a);
        if (n != N-1) printf("+");
        n++;
        b = a + b;
        a = b - a;
    }
    printf("=%f\n", sum);
    return 0;
}