s=1+1/3+1*2/3*5
时间: 2023-11-11 22:04:53 浏览: 49
以下是求解s=1+1/3+1*2/3*5的方法:
```c
#include <stdio.h>
int main() {
float s = 1.0;
int i, j;
for (i = 1, j = 3; i <= 2; i++, j += 2) {
s += i * j / (float)(j - 1) / (j + 1);
}
printf("s = %f\n", s);
return 0;
}
```
输出结果为:s = 1.366667
相关问题
计算s=1+1/2+1/3+...+1/10
根据提供的公式s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n),可以得到计算s=1+1/2+1/3+...+1/10的公式为s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+10)。因此,我们可以调用fun()函数来计算s的值。
```c
#include <stdio.h>
double fun(double n);
int main() {
double n = 10;
double s = fun(n);
printf("s = %f", s); // 输出:s = 2.928968
return 0;
}
double fun(double n) {
double s = 0;
double a = 0;
for (int i = 1; i <= n; i++) {
a += i;
s += 1 / a;
}
return s + 1;
}
```
计算s=1+1/2!+1/3!
题目要求计算s=1+1/2!+1/3!+1/4!+ … +1/n!,其中n由终端输入。代码中已经定义了阶乘函数fac和求和函数sum,我们只需要在主函数中调用sum函数即可得到结果。sum函数中的循环变量i从1到n,每次将1/i!加到sum中,最后返回sum即可。
代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int fac(int n) //阶乘函数
{
int i = 0;
int y = 1; //用来存返回值
if (0 == n || 1 == n) {
return 1;
} else {
for (i = 2; i <= n; i++) {
y *= i;
}
return y;
}
}
double sum(int n) //求和函数
{
int i = 0; //循环变量
double sum = 0; //和
for (i = 1; i <= n; i++) {
sum += 1.0 / fac(i);
}
return sum;
}
int main()
{
int n = 0;
printf("请输入n:>");
scanf("%d", &n);
printf("sum = %lf\n", sum(n));
system("pause");
return 0;
}
```