在c语言中,有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
时间: 2023-12-13 10:47:06 浏览: 31
可以用循环来逐项计算并累加,代码如下:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
double sum = 0;
double a = 2, b = 1; // 第一项是 2/1
for (int i = 1; i <= n; i++) {
sum += a / b;
double tmp = b;
b = a;
a = a + tmp; // 下一项的分子是前两项之和,分母是前一项
}
printf("%.2f\n", sum);
return 0;
}
```
输入一个正整数 N,输出前 N 项之和,保留两位小数。例如,输入 6,输出为 11.48。
相关问题
用C语言编程有一分数序列:2/1,3/2, 5/3. 8/5, 13/8,21/13..求出这个数列的前n项之和。保留小数点后10位。
好的,这是一个比较简单的数列求和问题,可以使用循环来实现。以下是C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n = 0;
double a = 2, b = 1, sum = 0, c;
printf("请输入要求和的项数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += a / b;
c = a;
a = a + b;
b = c;
}
printf("前%d项之和为:%.10f\n", n, sum);
return 0;
}
```
代码中,我们使用变量a和b分别表示数列中每一项的分子和分母,变量sum表示前n项的和。在循环中,我们首先将a/b加入到sum中,然后将a更新为a+b,b更新为原来的a,即c。循环执行n次后,sum即为前n项的和。
运行代码,输入要求和的项数,即可得到结果。
C语言有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
C语言求分数序列前N项之和的代码如下:
```c
#include <stdio.h>
float fractionSum(int n) {
float sum = 0;
float numerator = 2, denominator = 1;
float temp;
for (int i = 0; i < n; i++) {
sum += numerator / denominator;
temp = numerator;
numerator = numerator + denominator;
denominator = temp;
}
return sum;
}
int main() {
int N = 20;
float sum = fractionSum(N);
printf("The sum of the first %d terms in the fraction sequence is %.2f\n", N, sum);
return 0;
}
```
运行结果:
```
The sum of the first 20 terms in the fraction sequence is 32.66
```