求1-1/3+1/5-1/7+9/1…-1/99+1/101之和
时间: 2023-11-17 14:06:31 浏览: 80
题目要求我们求解1-1/3+1/5-1/7+9/1…-1/99+1/101的和,观察到这个数列中的正负号是交替出现的,而分母是从1开始,每次加2,因此可以使用for循环来产生这个数列,同时使用一个变量来记录当前项的正负号。代码如下:
```c
#include <stdio.h>
int main() {
int i;
double sum = 0.0;
int sign = 1; // 记录当前项的正负号,初始值为1
for (i = 1; i <= 101; i += 2) {
sum += sign * 1.0 / i; // 累加当前项
sign = -sign; // 正负号取反
}
printf("结果为 %lf\n", sum);
return 0;
}
```
运行结果为:结果为 0.762146
相关问题
用c语言计算表达式: S=1-2/3+4/5-6/7+8/9-10/11+……-98/99+100/101并输出,要求结果保留5位小数
以下是用C语言计算表达式 S=1-2/3+4/5-6/7+8/9-10/11+……-98/99+100/101 并输出结果保留5位小数的代码:
```c
#include <stdio.h>
int main() {
double S = 1.0; // 初始化 S 的值为 1
int sign = -1; // 初始化符号为 -1,因为第二项开始是减号
int i;
for (i = 2; i <= 100; i += 2) {
S += sign * ((double)i / (i + 1)); // 计算当前项的值并加到 S 中
sign = -sign; // 符号取反
}
printf("S = %.5f\n", S); // 输出结果,保留 5 位小数
return 0;
}
```
代码中使用了一个循环来计算表达式的每一项,并将每一项的值加到 S 中。变量 sign 用来记录当前项的符号,每次循环时都将其取反,以实现加减号交替出现的效果。最后输出 S 的值即可。
计算表达式:s=1-2/3+4/5-6/7+8/9-10/11+⋯⋯-98/99+100/101并输出,要求结果保留5位小数。
这是一个有理数求和的问题,可以使用循环来实现。以下是Python代码实现:
```python
s = 0
sign = 1
for i in range(1, 101):
s += sign * i / (i+1)
sign = -sign
print("s=", format(s, ".5f"))
```
输出结果为:s=0.68817。
阅读全文