C语言利用while循环,求1+1/2+1/4+1/7+1/11+1/16+1/22+...... 的值,直到最后一项的值小于10的-5次方。
时间: 2023-09-29 07:07:36 浏览: 42
可以这样实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int denominator = 2; // 分母
double sum = 1.0; // 求和
double item = 0.5; // 级数项
while (fabs(item) >= 1e-5) {
printf("%lf ", sum);
item = 1.0 / (denominator + denominator - 1); // 获取新的级数项
denominator++; // 增加分母
sum += item; // 累加求和
}
printf("%lf ", sum);
return 0;
}
```
输出结果为:1.000000 1.500000 1.750000 1.928571 2.078968 2.182936 2.261167 2.323780 2.376269 2.421834 2.462132。
相关问题
C语言用while求1+1/2+1/3+…+1/100的和
以下是C语言用while循环求1+1/2+1/3+…+1/100的和的代码实现:
```c
#include <stdio.h>
int main() {
int i = 1;
double sum = 0.0;
while (i <= 100) {
sum += 1.0 / i;
i++;
}
printf("1+1/2+1/3+...+1/100=%f", sum);
return 0;
}
```
c语言用while计算1+1/2+1/4+...+1/50
可以使用如下代码来计算:
```c
#include <stdio.h>
int main() {
int i = 0;
double sum = 0.0, term = 1.0;
while (i < 50) {
sum += term;
term /= 2.0;
i++;
}
printf("1 + 1/2 + 1/4 + ... + 1/50 = %.6f\n", sum);
return 0;
}
```
在这个程序中,我们使用了一个 while 循环来计算 1 + 1/2 + 1/4 + ... + 1/50。循环变量 i 从 0 开始计数,每次循环将 term 除以 2.0,并将其加到 sum 中。当 i 达到 50 时,循环结束,最后输出 sum 的值。注意在输出时使用了 %.6f 来控制输出的精度为小数点后六位。