、设计一个c语言程序,求:2/1+3/2+5/3+8/5+13/8+21/13----前20项之和。
时间: 2023-12-12 10:32:21 浏览: 84
以下是求解前20项的和的C语言程序:
```c
#include <stdio.h>
int main() {
float n = 2, m = 1, sum = 0, t;
int i;
for (i = 0; i < 20; i++) {
sum += n / m;
t = n;
n += m;
m = t;
}
printf("前20项之和为:%f\n", sum);
return 0;
}
```
程序中使用了循环语句for来计算前20项的和,其中n和m分别表示分数序列中的分子和分母,sum表示前20项的和。在每次循环中,先将当前项的分数加入到sum中,然后更新n和m的值,使其分别变为下一项的分子和分母。
相关问题
用C语言设计一个程序,求2/1+3/2+5/3+8/5前20项之和
以下是用C语言设计一个程序,求2/1+3/2+5/3+8/5前20项之和的代码:
```c
#include <stdio.h>
int main() {
double sum = 0, a = 2, b = 1, temp;
int i;
for (i = 1; i <= 20; i++) {
sum += a / b;
temp = a;
a = a + b;
b = temp;
}
printf("前20项之和为:%lf\n", sum);
return 0;
}
```
设计一个c语言程序求1/1+1/2+2/3+3/5+5/8+8/13+13/21+21/34……的前n项的和。
以下是求解题目的C语言程序:
```c
#include <stdio.h>
int main() {
int n;
double a = 1, b = 1, c, sum = 0;
printf("请输入要求的项数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
c = a + b;
sum += b / c;
a = b;
b = c;
}
printf("前%d项的和为:%lf", n, sum + 1);
return 0;
}
```
程序中使用了三个变量a、b、c,其中a和b代表分数序列中的分子和分母,c则是a和b的和。初始时,a和b均为1,接着通过循环计算分数序列的所有项,将每一项的值加到sum变量中。
需要注意的是,题目中分数序列的第一项为1/1,而程序中的循环是从第二项开始计算的,因此最后要将sum加上1才是正确答案。
阅读全文