如何用c语言实现斐波那契数列求和?

如题所述

#include <stdio.h>

int main()

{

int n, i;

float sum = 0, a = 1, b = 2, temp;

printf("请输入要求的项数n:");

scanf("%d", &n);

for(i = 1; i <= n; i++)

{

sum += a / b;

temp = a;

a = b - a; // 先交换a, b再更新b

b = temp + b;

}

printf("1-1/2+2/3-3/5+5/8-……前%d项和为%.3f\n", n, sum);

return 0;

}

在这段代码中,我们先输入要求的项数n,并初始化sum、a、b、temp四个变量。之后使用for循环计算前n项和,每一次循环都先将当前a/b加到sum上,并利用temp来暂存a的值,然后通过相减和交换a、b来更新a和b的值。最终输出结果即可。

需要注意的是,本题所求的数列是一个著名的斐波那契(Fibonacci)型数列,其中每个元素等于前两个元素的和,因此我们可以通过交换a和b的值实现计算。

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