C语言用while语句和do-while语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前20项的和
时间: 2023-12-13 20:32:45 浏览: 59
以下是C语言使用while语句和do-while语句求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…前20项的和的代码:
使用while语句:
```c
#include <stdio.h>
int main() {
int i = 1;
double a = 2, b = 1, sum = 0, t;
while (i <= 20) {
sum += a / b;
t = a;
a = a + b;
b = t;
i++;
}
printf("前20项的和为:%lf\n", sum);
return 0;
}
```
使用do-while语句:
```c
#include <stdio.h>
int main() {
int i = 1;
double a = 2, b = 1, sum = 0, t;
do {
sum += a / b;
t = a;
a = a + b;
b = t;
i++;
} while (i <= 20);
printf("前20项的和为:%lf\n", sum);
return 0;
}
```
相关问题
c语言:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求这个数列的前20项之和,用while语句
是C语言代码,使用while语句求解分数序列的前20项之和:
```c
#include <stdio.h>
int main() {
double a = 2, b = 1, sum = 0, temp;
int i = 1;
while (i <= 20) {
sum += a / b;
temp = a;
a = a + b;
b = temp;
i++;
}
printf("sum=%16.10f\n", sum);
return 0;
}
```
解释:
首先,我们需要定义变量a、b、sum和temp,分别表示分数序列中的分子、分母、前n项之和和临时变量。
然后,我们使用while循环来计算分数序列的前20项之和。在每次循环中,我们将a/b加到sum中,然后交换a和b的值,使得a变为下一项的分子,b变为下一项的分母。
最后,我们使用printf函数输出结果。
有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13•求出这个数列的前20项之和,用while语句,c语言基础的
这个数列是斐波那契数列的一种变形,可以用循环来计算前20项并求和。具体实现如下:
```c
#include <stdio.h>
int main() {
int i = 1;
double a = 2, b = 1, sum = 0, temp;
while (i <= 20) {
sum += a / b;
temp = a;
a = a + b;
b = temp;
i++;
}
printf("前20项之和为:%lf", sum);
return 0;
}
```
在循环中,我们使用变量a和b来表示分数的分子和分母,初始值分别为2和1。每次循环中,我们先将a/b加入到sum中,然后更新a和b的值,使它们分别变成下一个分数的分子和分母。最后输出sum即可。