c语言数列求和1-1/2+1/3-1/4+...-1/2n
时间: 2023-11-22 08:04:51 浏览: 68
以下是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语言数列求和1-1/2+1/3
以下是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语言求和 sum = 1-1/2+1/3-1/4+...+1/99-1/100
以下是两种C语言求和的例子:
1.使用for循环
```c
#include <stdio.h>
int main() {
int n = 0;
int i = 0;
double flag = 1.0;//正负号改变的载体
double sum = 0.0;//注意结果需要浮点数
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += flag * 1 / i;
flag = -flag;//借助循环进行正负号转化
}
printf("1-1/2+1/3...+1/99-1/100...=%lf", sum);
return 0;
}
```
2.使用while循环
```c
#include <stdio.h>
int main() {
int n = 0;
int i = 0;
double flag = 1.0;//正负号改变的载体
double sum = 0.0;//注意结果需要浮点数
scanf("%d", &n);
while(i<n) {
i++;
sum += flag * 1 / i;
flag = -flag;//借助循环进行正负号转化
}
printf("1-1/2+1/3...+1/99-1/100...=%lf", sum);
return 0;
}
```