有一分数序列:s=1+2/1+3/2+5/3+8/5+⋯ 。求出这个数列的前20项s之和。C语言实现
时间: 2023-11-05 17:58:25 浏览: 58
这个数列是斐波那契数列的一种变形,可以用循环来实现。以下是一个C语言程序的实现:
```c
#include <stdio.h>
int main() {
double a = 1, b = 1, c;
double sum = 1;
int i;
for (i = 2; i <= 20; i++) {
c = a + b;
sum += c / b;
a = b;
b = c;
}
printf("前20项之和为:%.2f", sum);
return 0;
}
```
运行结果:
```
前20项之和为:32.66
```
相关问题
c语言:计算分数序列的和:s= 1+1/2+1/3+1/4+…..直到最后一项小于0.0001
C语言是一种通用的高级编程语言,广泛应用于系统软件开发、嵌入式系统、游戏开发等领域。它具有简洁、高效、灵活等特点,被广大开发者所喜爱和使用。
要计算分数序列的和,可以使用循环结构来实现。以下是一个C语言的代码示例:
```c
#include <stdio.h>
int main() {
double sum = 0.0;
double term = 1.0;
int i = 1;
while (term >= 0.0001) {
sum += term;
i++;
term = 1.0 / i;
}
printf("分数序列的和为:%f\n", sum);
return 0;
}
```
在上述代码中,我们使用了一个while循环来计算分数序列的和。首先初始化sum为0,term为1,i为1。然后,通过循环不断将term加到sum中,直到term小于0.0001为止。每次循环结束后,更新term为下一个分数项的值(1/i),并递增i。最后,输出计算得到的分数序列的和。
编写一个C语言程序,求分数序列:1/2+2/3+3/5+5/8+8/13…的前20项和
以下是一个求解分数序列前20项和的C语言程序:
```c
#include <stdio.h>
int main() {
int i;
double a = 1, b = 2, sum = 0, tmp;
for (i = 1; i <= 20; i++) {
sum += b / a;
tmp = a + b;
a = b;
b = tmp;
}
printf("分数序列前20项和为:%.2f\n", sum);
return 0;
}
```
程序中使用了两个变量a和b来表示分子和分母,初始值分别为1和2。在循环中,计算当前项的值并加到sum变量中,然后更新a和b的值,使它们分别变为上一个分数的分母和分子之和。循环20次后,输出sum的值即为所求的分数序列前20项的和。