C语言用调用函数求1+1/2!+1/3!+…+1/n!
时间: 2023-12-02 13:02:04 浏览: 93
以下是C语言用调用函数求1+1/2!+1/3!+…+1/n!的代码实现和运行结果:
```c
#include <stdio.h>
double fun(int n) {
double t, sn = 1.0;
int i, j;
for (i = 1; i < n; i++) {
t = 1.0;
for (j = 1; j <= i; j++) {
t = t * j;
}
sn += 1.0 / t;
}
return sn;
}
int main() {
double sum = fun(4);
printf("sum is %f\n", sum); // 输出:sum is 2.666667
return 0;
}
```
相关问题
c语言要求调用函数S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19)计算N的阶乘
以下是C语言代码,用于计算S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19!),其中N为19的阶乘:
```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 s = 0; // 和
int f = 1; // 阶乘
for (i = 0; i <= n; i += 3) {
f *= fac(i + 4);
s += 1.0 / (1 + f);
}
return s;
}
int main()
{
int n = 19;
printf("sum = %lf\n", sum(n));
system("pause");
return 0;
}
```
c语言计算N的阶乘,要求调用函数S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19)
以下是C语言计算N的阶乘并调用函数计算S的代码,其中包括计算阶乘的函数fac和计算S的函数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; //和
int j = 1; //用来存储分母
for (i = 1; i <= n; i++) {
sum += 1.0 / j;
j += fac(3 * i + 1); //计算下一个分母
}
return sum;
}
int main()
{
int n = 0;
printf("请输入n:>");
scanf("%d", &n);
printf("S = %lf\n", sum(n));
system("pause");
return 0;
}
```
阅读全文