c语言数列求和1-1/2+1/3
时间: 2023-11-21 17:07:03 浏览: 153
以下是C语言求解数列1-1/2+1/3的和的代码和运行结果:
```c
#include <stdio.h>
int main() {
int n, i;
double sum = 0.0, sign = 1.0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += sign * 1.0 / i;
sign = -sign;
}
printf("1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的和为:%.4lf\n", sum);
return 0;
}
```
运行结果:
```
请输入n的值:5
1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的和为:0.7833
```
相关问题
c语言数列求和1-1/2+1/3-1/4+...-1/2n
以下是C语言求解该数列前n项和的代码:
```c
#include <stdio.h>
void fun(float *sn, int n);
int main() {
int m, n;
float s;
printf("请输入测试实例的个数m:");
scanf("%d", &m);
for (int i = 0; i < m; i++) {
printf("请输入正整数n:");
scanf("%d", &n);
fun(&s, n);
printf("该多项式的前%d项和为:%f\n", n, s);
}
return 0;
}
void fun(float *sn, int n) {
float s = 0.0, w, f = -1.0;
for (int i = 0; i <= n; i++) {
f = (-1) * f;
w = f / (2 * i + 1);
s += w;
}
*sn = s;
}
```
C语言数列求和--s=1-1/2+1/4-1/8+……,当某项绝对值<10-6为止。
这道题目是一个数列求和的问题,需要使用循环语句来实现。根据题目中给出的数列,我们可以发现每一项的分母都是2的幂次方,因此可以使用一个变量来表示分母,每次循环将分母乘以2即可。同时,由于题目要求当某项绝对值<10-6时停止循环,因此需要在循环中加入判断条件。具体实现如下:
```
#include <stdio.h>
#include <math.h>
int main() {
double s = 1.0; // 初始化s为第一项的值
double term = 1.0; // 初始化当前项的值为1
int denominator = 2; // 初始化分母为2
while (fabs(term) >= 1e-6) { // 当当前项的绝对值小于1e-6时停止循环
term = pow(-1, denominator / 2) * 1.0 / denominator; // 计算当前项的值
s += term; // 将当前项的值加入到总和中
denominator *= 2; // 将分母乘以2
}
printf("s = %lf\n", s); // 输出结果
return 0;
}
```
阅读全文