解题思路:
- 分母产生了1^100的数字,所以分母用循环产生1^100for
- 分子不变的情况下直接进行除
- 然后定义一个变量进行求和sum
- 但是发现有加减交替的现象,-都是分母为偶数,+都是分母为奇数,于是用if语句进行分类计算
- 代码如下:
-
int main() { int i = 0; double sum = 0.0; for (i = 1; i <= 100; i++) { if (i % 2 == 0) sum -= 1.0 / i; else sum += 1.0 / i; } printf("%lf", sum); return 0; }
哪么是否还有更好的办法呢?
-
我们定义一个变量命名为flag
-
代码如下:
-
int main() { int flag = 1; int i = 0; double sum = 0.0; for (i = 1; i <= 100; i++) { sum += flag * 1.0 / i; flag = -flag; } printf("%lf", sum); return 0; }