C语言数列求和 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…… 计算这个

如题所述

#include<stdio.h>
int main(){
    int a, b, c, i;
    float sum;
    float a = 1;
    float b = 2;
    //这是前20项的和
    for(i = 1; i <= 20; i++){
        sum = sum + 1.0*b/a;
        c = a;
        a = b;
        b = c + b;
    }
    printf("%.2f", sum);
    return 0;
}

追问

算前n项和

追答

n项是多少项啊
不规定多少项难道无限循环下去?

追问

就是输入n

n为一个确定值

你这个是对的,谢谢

再问一下为什么是1.0*b/a

还有你那个b=c+b是不是该写成c+a

追答

手动输入的话你用一个scanf就好了啊

b = c + b 或 b = c + a是一样的

追问

解释一下呗

追答

这还能怎么解释你按程序一步一步的走下来啊 然后把每一步的结果用笔记下来 一看不就出来了 因为b的值已经赋给a了啊所以在当前的情况下a跟b是一样的

温馨提示:答案为网友推荐,仅供参考