编写程序,计算以下分数序列的前n项之和。n由键盘录入。 2/1+3/2+5/3+8/5+13/8+21/13.... 例如,n=5,则应输出8.391667
时间: 2023-11-18 22:37:32 浏览: 73
n = int(input("请输入要计算的项数:"))
a, b = 2, 1 # 初始化分数序列的前两项
sum = 0 # 初始化和为0
for i in range(n):
sum += a / b # 将当前项加入和中
a, b = a + b, a # 计算下一项
print("前{}项之和为:{:.6f}".format(n, sum)) # 输出结果,保留6位小数
相关问题
用c语音编写程序,计算以下分数序列的前n项之和。n由键盘录入。 2/1+3/2+5/3+8/5+13/8+21/13. 例如,n=5,则应输出8.391667 分析:利用for循环实现
#include <stdio.h>
int main() {
int n;
printf("请输入n:");
scanf("%d", &n);
double sum = 0;
double a = 2, b = 1;
for (int i = 1; i <= n; i++) {
sum += a / b;
double temp = a;
a = a + b;
b = temp;
}
printf("前%d项之和为:%lf\n", n, sum);
return 0;
}
用c语言编写程序输入一个正整数n,求以下分数序列的前n项之和2/1+3/2+5/3+8/5+13/8+
以下是使用循环计算的程序:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
double a = 2.0, b = 1.0, sum = 0.0;
for (int i = 1; i <= n; i++) {
sum += a / b;
double temp = a;
a = a + b;
b = temp;
}
printf("前%d项之和为%.2f\n", n, sum);
return 0;
}
```
这里使用了两个变量`a`和`b`分别表示分数序列中的分子和分母。在循环中,先将当前项的分数加入到总和`sum`中,然后将分子和分母分别更新为下一项的分子和分母。具体来说,分子变为上一项的分子加上上一项的分母,分母变为上一项的分子。最终计算出前n项之和并输出。
阅读全文