用C语言写 有一分数数列:2/1,-3/2,5/3,-8/5,13/8,-21/13...求出这个数列的前n项之和
时间: 2023-12-11 20:01:53 浏览: 74
以下是用C语言编写的计算前n项和的程序:
```c
#include <stdio.h>
int main() {
int n, i;
double a = 2.0, b = 1.0, sum = 0.0, c;
printf("请输入要求的项数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += a / b;
c = a;
a = -a + b;
b = c;
}
printf("前%d项之和为:%lf\n", n, sum);
return 0;
}
```
程序中,变量`a`和`b`分别代表当前项的分子和分母,初始化为`2.0`和`1.0`,变量`sum`代表前n项的和,初始化为`0.0`。循环`n`次,每次将当前项的值加到`sum`中,然后更新`a`和`b`的值,具体更新方式为:
```
c = a;
a = -a + b;
b = c;
```
这里用到了一个中间变量`c`,目的是为了避免出现重复赋值的情况,保证更新`a`和`b`的值是同时进行的。
最后输出前n项的和即可。
相关问题
用C语言写 有一分数数列:2/1,-3/2,5/3,-8/5,13/8,-21/13...求出这个数列的前20项之和
以下是用C语言求解该数列前20项之和的代码:
```c
#include <stdio.h>
int main() {
int i;
double a = 2, b = 1, sum = 0, temp;
for (i = 1; i <= 20; i++) {
sum += a/b;
temp = a;
a = -a + b;
b = temp;
}
printf("前20项之和为:%lf\n", sum);
return 0;
}
```
运行结果为:
```
前20项之和为:-6.180339887498949
```
注:由于这个数列的前20项之和为负数,所以输出结果为负数。
c语言编程有一分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…, 由用户输入项目数N,求这个数列的前N 项之和
可以使用循环来实现这个数列的求和,每次循环都计算出数列的下一项,并将其加入到总和中。下面是使用 C 语言编写的代码:
```c
#include <stdio.h>
int main() {
int n, i;
double a = 2.0, b = 1.0, sum = 0.0, temp;
printf("请输入项目数N:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += a / b;
temp = a;
a = -a + b;
b = temp;
}
printf("数列前%d项之和为%.4lf\n", n, sum);
return 0;
}
```
首先,我们定义了一些变量,包括项目数 `n`,分数序列的两个项 `a` 和 `b`,数列前 `n` 项的和 `sum`,以及一个临时变量 `temp`。
然后,我们让用户输入项目数 `n`。接下来的循环中,我们使用了一个临时变量 `temp` 来交换 `a` 和 `b` 的值,从而计算出数列的下一项。每次循环都将新的项加入到总和中。
最后,我们输出数列前 `n` 项的和。注意,我们使用了 `%d` 来输出整数,`%.4lf` 来输出小数点后四位的双精度浮点数。
阅读全文