c语言,现有一分数数列1/2、2/3、3/5、5/8、8/13、13/21、……,求该数列前 n 项的和。(n 为读入数据,输出结果保留两位小数)
时间: 2023-06-16 13:04:46 浏览: 103
这个数列可以看出是斐波那契数列的一个变形,因为每一项的分子都是前两项的和,分母则是前一项的值。
可以使用循环来计算前 n 项的和,具体实现如下:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n); // 读入 n
double sum = 0.0;
double numerator = 1.0, denominator = 2.0; // 前两项
for (int i = 1; i <= n; i++) {
sum += numerator / denominator; // 累加当前项
double temp = numerator + denominator; // 计算下一项的分子
numerator = denominator; // 更新分子为当前项的分母
denominator = temp; // 更新分母为下一项的分子
}
printf("%.2f", sum); // 输出结果,保留两位小数
return 0;
}
```
注意,这里使用了 double 类型来存储分数,因为分数的值可能会非常大,使用整数类型会导致精度丢失。
阅读全文