用C语言给定一个正整数,计算1-1/2+1/4-1/8+1/16……的前n项之和。
时间: 2023-10-01 20:09:28 浏览: 548
计算前N项之和(c语言)
以下是用 C 语言实现计算的代码:
```c
#include <stdio.h>
int main() {
int n;
double sum = 0.0;
printf("请输入项数n:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
double item = 1.0 / (1 << i);
if (i % 2 == 0) {
sum += item;
} else {
sum -= item;
}
}
printf("前%d项之和为%f\n", n, sum);
return 0;
}
```
程序首先提示用户输入要计算的项数 `n`,然后使用一个循环计算每一项的值,并根据奇偶性累加或累减到总和 `sum` 中。最后输出结果。
需要注意的是,本题中分母中的 2 是 2 的整数次幂,所以可以用位运算来代替除法,提高计算效率。
阅读全文