C语言问题希望得到解决

有表达:1/1+2/3+5/8+... 从键盘输入 n,求前n项之和。

斐波那契数列啊
有表达:1/1+2/3+5/8+... 从键盘输入 n,求前n项之和。

#include <stdio.h>
int main()
{
    int fz=1,fm=1,i=0;
    double sum = 0;
    int n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        sum += fz * 1.0 / fm;
        fz += fm;
        fm += fz;
    }
    printf("%lf",sum);
}

img


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

#include<stdio.h>
int main()
{
    int a = 1, b = 2, i, j, n;
    float s = 0.0;
    printf("请输入项数:\n");
    scanf_s("%d", &n);
    for (i = 1; i <= n; i = i + 1)
    {
        s = s + 1.0 * a / b;
        j = a; 
        a = b;
        b = b + j;
    }
    printf("%f", s);
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632