C语言计算1/2 + 2/3 + 3/5 + 5/8 + 8/13 + 13/21…… 试编写一个程序,输入一个正整数,通过for循环语句计算如下数列前n项之和
时间: 2023-12-12 22:22:48 浏览: 70
C语言程序设计-求一分数序列21,32,53,85,138,2113…的前n项之和;说明:每一分数的分母是前两项的分母之
5星 · 资源好评率100%
好的,以下是用 C 语言编写的程序,可以计算该数列前 n 项之和。请注意,如果输入的 n 太大,由于浮点数精度问题,可能会出现不准确的情况。
```c
#include <stdio.h>
int main() {
int n, i;
float a = 1, b = 2, c, sum = 0;
printf("请输入需要计算前n项之和的数列 n=");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += b / a;
c = a + b;
a = b;
b = c;
}
printf("前 %d 项之和为 %.2f", n, sum);
return 0;
}
```
程序中,我们用变量 a,b,c 分别存储数列中的前三个数,初始值分别为 1,2,3。然后用 for 循环计算前 n 项之和,每次将 b/a 加入到 sum 中,并更新 a 和 b 的值,使得它们分别变为原来的 b 和 a+b。最后输出计算结果即可。
阅读全文