用c语言编写程序输入一个正整数n,求以下分数序列的前n项之和2/1+3/2+5/3+8/5+13/8+
时间: 2023-11-05 11:57:36 浏览: 74
以下是使用循环计算的程序:
```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项之和并输出。
相关问题
编写一个c语言程序,求下列分数序列的前20项之和:2/1+3/2+5/3+8/5+13/8+
```
#include <stdio.h>
int main() {
int i;
double a = 2, b = 1, c, sum = 0;
for (i = 1; i <= 20; i++) {
sum += a / b;
c = a;
a = a + b;
b = c;
}
printf("前20项之和为:%.2f\n", sum);
return 0;
}
```
运行结果:
```
前20项之和为:32.66
```
用c语言输写一程序,输入一个正整数口,计算2/1+3/2+4/3+...的前n项之和
以下是用C语言编写的程序,可以计算2/1 3/2 4/3 ...的前n项之和:
```c
#include <stdio.h>
int main() {
int n;
double sum = 0.0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 2; i <= n + 1; i++) {
sum += (double)i / (i - 1);
}
printf("2/1 + 3/2 + 4/3 + ... + %d/%d = %f\n", n + 1, n, sum);
return 0;
}
```
输入一个正整数n,程序会使用for循环计算2/1 3/2 4/3 ...的前n项之和,并输出结果。