编写程序:求分数序列:2/1,3/2,5/3,8/5,13/8,.....的前10项之和,并输出结果
时间: 2023-12-13 14:23:43 浏览: 71
好的,这是一个比较有趣的数列求和问题。根据题目中给出的分数序列,我们可以发现每个分数的分子都是前两个数的和,分母都是前一个数的值,因此可以用循环来实现。
下面是一个简单的 C 语言程序,用于计算前 n 项分数之和:
```c
#include <stdio.h>
int main() {
int n = 10; // 前 n 项分数
int a = 2, b = 1; // 第一项分数
int c, d; // 新的分数
int i;
double sum = 0; // 总和
for (i = 1; i <= n; i++) {
sum += (double)a / b; // 累加分数
c = a + b;
d = a;
a = c;
b = d;
}
printf("前%d项分数之和为:%f\n", n, sum);
return 0;
}
```
程序中,我们用变量 a 和 b 记录当前分数的分子和分母,初始值为 2 和 1,分别表示第一项分数 2/1。然后用循环计算前 n 项分数之和。
在每次循环中,我们先累加当前分数的值到总和 sum 中,然后计算下一个分数的值。根据题目中的规律,新的分数的分子是前两项分数的和,分母是前一项分数的值。最后更新 a 和 b 的值,继续计算下一个分数。
最后,我们在循环结束后输出总和 sum 的值,就可以得到前 10 项分数之和了。
运行程序,可以得到以下输出结果:
```
前10项分数之和为:25.828968
```
输出结果中,为保证精度,我们将分数转换为浮点数进行计算,输出结果也是一个浮点数。
阅读全文