请编写c语言函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+…+1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。
时间: 2023-09-15 14:19:00 浏览: 228
好的,不会透露您的任何要求,下面是您的问题:
请编写c语言函数fun,其功能是计算并输出如下多项式的值: Sn=l 1/1! 1/2! 1/3! 1/4! … 1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。
以下是函数fun的实现:
```
#include <stdio.h>
double fun(int n) {
double sum = 0, f = 1;
int i;
for (i = 1; i <= n; i++) {
f = f * i;
sum = sum + 1 / f;
}
return sum;
}
int main() {
int n;
double s;
printf("请输入n的值:");
scanf("%d", &n);
s = fun(n);
printf("S = %lf\n", s);
return 0;
}
```
使用方法如下:
1. 将上述代码拷贝到一个.c文件中;
2. 编译并生成可执行文件,如``gcc -o test test.c``;
3. 运行可执行文件,根据提示输入n的值;
4. 程序会输出Sn的值。
希望这能够帮到你!
相关问题
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来保存每一项的阶乘值,然后将其加入到多项式的和中。
阅读全文