编写程序计算 1 - 1/2 +1/3 - 1/4 + ..... +1/99 - 1/100 的值,并显示出来 (保留结果为小数点后三位)。
时间: 2023-11-23 18:07:13 浏览: 47
以下是Python和C语言两种实现方式:
Python实现:
```python
sum = 0
for i in range(1, 101):
if i % 2 == 1:
sum += 1 / i
else:
sum -= 1 / i
print("%.3f" % sum)
```
C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int i, n = 100;
float sum = 0.0;
for (i = 1; i <= n; i++) {
if (i % 2 == 1) {
sum += 1.0 / i;
} else {
sum -= 1.0 / i;
}
}
printf("%.3f\n", sum);
system("pause");
return 0;
}
```
相关问题
编写程序,计算1-1/2+1/3-
这道题目是要求计算1-1/2+1/3-1/4+...+1/99-1/100的值。根据题目中的规律,我们可以使用两种方法来解决这个问题。
方法一:使用两个循环分别计算奇数分母和偶数分母的和,最后将奇数分母的和减去偶数分母的和即可得到最终结果。代码如下:
```c
#include <stdio.h>
int main() {
double sum1 = 0.0, sum2 = 0.0, sum = 0.0;
for (int i = 1; i < 100; i += 2) {
sum1 = sum1 + (1.0) / i;
}
for (int i = 2; i < 101; i += 2) {
sum2 = sum2 + (1.0) / i;
}
sum = sum1 - sum2;
printf("%lf\n", sum);
return 0;
}
```
方法二:使用一个循环,每次计算当前分母的值,并根据分母的奇偶性来决定加上还是减去该项。代码如下:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i = 0;
double ret = 1.0;
double sum = 0.0;
for (i = 1; i < 101; i++) {
ret = (pow(-1, i + 1)) / i;
sum += ret;
}
printf("结果为 %lf\n", sum);
return 0;
}
```
编写程序计算 + 1+-+1/2+++1/3+-+1/4+++.....++1/99+-+1/100+的值,并显示出来(保留结果为小数点后三位)。
以下是计算1-1/2+1/3-1/4+1/5...+1/99-1/100的值的C++代码,结果保留小数点后三位:
```C++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 1) {
sum += 1.0 / i;
} else {
sum -= 1.0 / i;
}
}
cout << fixed << setprecision(3) << sum << endl;
return 0;
}
```