用C语言解,计算数列2/1,3/2,5/3,8/5……的前n项和
时间: 2023-05-13 20:04:52 浏览: 64
以下是用C语言解决计算数列2/1,3/2,5/3,8/5……的前n项和的代码:
#include <stdio.h>
int main() {
int n;
double sum = 0, a = 2, b = 1, temp;
printf("请输入要计算的项数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += a / b;
temp = a;
a = a + b;
b = temp;
}
printf("前%d项和为:%lf", n, sum);
return 0;
}
对于n=10的情况,输出结果为:前10项和为:22.468278
相关问题
c语言数列求和2/1+3/2+5/3
以下是C语言计算数列2/1+3/2+5/3的和的代码:
```c
#include <stdio.h>
void main(){
double x=2,y=1,sum=0,t;
int i,n;
printf("请输入求和通项:");
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=x/y;
t=x;
x=y+x;
y=t;
}
printf("2/1,3/2,5/3,8/5,13/8,21/13……前%d项和为:%f \n",n,sum);
}
```
运行结果:
```
请输入求和通项:3
2/1,3/2,5/3,8/5,13/8,21/13……前3项和为:4.166667
```
c语言编写函数,求下数列前n项的和。 1/2+3/4+5/6…………
可以编写以下C语言函数来求解该数列前n项的和:
```c
#include <stdio.h>
double sum(int n) {
double s = 0.0;
for (int i = 1; i <= n; i++) {
s += (double)(2*i-1) / (double)(2*i);
}
return s;
}
int main() {
int n;
printf("请输入数列的项数n:");
scanf("%d", &n);
printf("数列的前%d项和为:%f\n", n, sum(n));
return 0;
}
```
该函数利用for循环遍历数列的前n项,每次加上当前项的值,最后返回总和。其中,`(double)(2*i-1)`和`(double)(2*i)`将整型转换为双精度浮点型,确保计算结果的精度。