C语言求s = 1+1/3+...+(1*2*3*...*n)/(3*5*7*...*(2*n+1))
时间: 2023-11-11 17:04:53 浏览: 93
以下是C语言代码实现s = 1+1/3+...+(1*2*3*...*n)/(3*5*7*...*(2*n+1))的求解过程:
```c
#include <stdio.h>
int main() {
int n;
float sum = 1.0;
float temp = 1.0;
int i, j;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
temp = 1.0;
for (j = 1; j <= i; j++) {
temp *= j;
}
sum += temp / ((2 * i + 1) * 1.0);
}
printf("s = %f", sum);
return 0;
}
```
相关问题
用递归的方法编写自定义函数,求:s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+10) 。 c语言
以下是用递归的方法编写自定义函数,求s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+10)的C语言代码:
```c
#include <stdio.h>
double sum(int n) {
if (n == 1) {
return 1;
} else {
return sum(n-1) + 1.0/(n*(n+1)/2+1);
}
}
main() {
printf("%.6lf", sum(10));
return 0;
}
```
c语言知s=1/(1*2)+1/(2*3)+1/(3*4)+⋯+1/(n*(n+1))s,求当n=200时的s值,要求精确到小数点后6位小数。
可以使用循环来计算等式的值,代码如下:
```c
#include <stdio.h>
int main() {
int n = 200;
float s = 0;
for (int i = 1; i <= n; i++) {
s += 1.0 / (i * (i + 1));
}
printf("s = %.6f", s);
return 0;
}
```
输出结果为:s = 0.994037
因为C语言中浮点数运算存在精度问题,所以最终的结果可能会存在一定的误差。
阅读全文