请编写函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+…+1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。
时间: 2023-10-02 20:05:31 浏览: 51
好的,我明白了。以下是函数fun的代码实现:
```
#include <stdio.h>
#include <math.h>
double fun(int n) {
double s = 0;
double factor = 1;
int i;
for (i = 1; i <= n; i++) {
factor *= i;
s += 1 / factor;
}
return s;
}
int main() {
int n;
double s;
printf("请输入n的值:");
scanf("%d", &n);
s = fun(n);
printf("S=%.6f\n", s);
return 0;
}
```
函数fun的输入参数是n,表示需要计算的多项式项数。函数内部使用循环对每一项进行累加,并计算每一项的分母,最终得到序列的和。主函数从键盘输入n,然后调用函数fun计算并输出结果。
相关问题
c语言编写函数fun,其功能是:计算并输出下列多项式值:Sn=1+1/1!+1/2!+1/3!+1/4!+......+1/n!
以下是C语言编写的函数fun,其功能是计算并输出多项式值Sn=1+1/1!+1/2!+1/3!+1/4!+......+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);
return 0;
}
```
其中,fun函数的参数n表示要计算多项式的前n项的和,函数返回值为多项式的和。在函数中,使用了两个循环,分别计算阶乘和多项式的和。在计算阶乘时,使用了变量t来保存每一项的阶乘值,然后将其加入到多项式的和中。
/*请编写函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+…+1/n!
*/#include <stdio.h>
double fun(int n)
{
double result = 0, factorial = 1;
int i;
for (i = 1; i <= n; i++) {
factorial *= i;
result += 1 / factorial;
}
return result;
}
int main()
{
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("Sn的值为:%lf\n", fun(n));
return 0;
}