输入一个正整数n,求以下分数序列的前n项之和。2/1+3/2+5/3+8/5+13/8+... 注意:语言选DEV C++。
时间: 2023-11-18 11:58:16 浏览: 34
以下是DEV C++的代码:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
double a = 2, b = 1; // 初始化第一项为2/1
double sum = 0; // 初始化和为0
for (int i = 1; i <= n; i++)
{
sum += a / b; // 累加当前项
double tmp = a; // 记录a的值
a = a + b; // 更新a
b = tmp; // 更新b为原来的a
}
printf("前%d项之和为:%lf", n, sum);
return 0;
}
```
代码思路:
首先输入正整数n,然后初始化第一项为2/1,和为0。
从第二项开始,每一项的分子是前一项的分子加上分母,分母是前一项的分子,依次计算每一项并累加到和中。
最后输出前n项之和。
相关问题
用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项之和并输出。
输入正整数n,求分数序列:2/1,3/2,5/3的前n项之和
可以使用循环来计算分数序列的前n项之和,代码如下:
```python
n = int(input("请输入正整数n:"))
sum = 0
a, b = 2, 1
for i in range(n):
sum += a / b
a, b = a + b, a
print("分数序列的前", n, "项之和为:", sum)
```
输出结果:
```
请输入正整数n:5
分数序列的前 5 项之和为: 11.0
```
注意:由于Python中整数除法的结果是浮点数,因此需要将a/b转换为浮点数再相加。