用c语言编写函数求如下级数,在主函数中输入n,并输出结果。 (必写) a=1+ \frac {1}{1+2}+ \frac {1}{1+2+3}+ \cdots + \frac {1}{1+2+ \cdots n}
时间: 2023-12-13 16:02:35 浏览: 31
以下是用 C 语言编写的函数,可以求出给定 n 的情况下,上述级数的结果:
```c
#include <stdio.h>
double sum(int n) {
double s = 0;
int i, j;
for (i = 1; i <= n; i++) {
double t = 0;
for (j = 1; j <= i; j++) {
t += j;
}
s += 1 / t;
}
return s;
}
int main() {
int n;
printf("请输入 n:");
scanf("%d", &n);
printf("结果为:%f\n", sum(n));
return 0;
}
```
注意,在计算每一项的分母时,要用一个内层循环来累加。因为分母的形式是 1+2+...+n,而每一项的 n 值都不同,所以需要逐一计算。
相关问题
用C语言编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m
当然可以,以下是 C 语言代码实现:
```c
#include <stdio.h>
float sum_expression(int n) {
float sum = 0;
int sign = 1;
for (int i = 1; i <= n; i++) {
sum += sign * (1.0f / i);
sign = -sign;
}
return sum;
}
int main() {
int n;
printf("请输入表达式的项数:");
scanf("%d", &n);
printf("表达式的和为:%f", sum_expression(n));
return 0;
}
```
函数名为 `sum_expression`,参数为 `n`,即表达式的项数。在函数内部,我们使用一个变量 `sum` 来保存和的值,初始值为 0。同时,我们使用一个变量 `sign` 来表示每一项的符号,初始值为 1。然后,我们使用一个循环来遍历每一项,对于第 $i$ 项,我们加上 $(-1)^{i+1} \times \frac{1}{i}$,并更新符号变量 `sign` 为其相反数。最后返回计算出的和 `sum`。
在 `main` 函数中,我们首先接收用户输入的项数 `n`,然后调用 `sum_expression` 函数计算表达式的和,并输出结果。
您可以使用此代码来计算表达式的和并输出结果。
用C语言编写s=1+(1+2)+...+(1+2...+n)
以下是用C语言编写的代码:
```
#include <stdio.h>
int main() {
int n, s = 0;
printf("请输入 n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s += i * (i + 1) / 2;
}
printf("s = %d\n", s);
return 0;
}
```
输入n后,使用for循环计算每个括号内的和,并将它们累加到s中。在每个括号中,使用等差数列求和公式:$1+2+...+n=\frac{n(n+1)}{2}$,计算括号内的和。最后输出s的值。