*请编写函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+…+1/n! 例如,若主函数从键盘给n输入15,则输出为S=2.718282。 注意:n的值要求大于1但不大于100。部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */ #include <stdio.h> #include<stdlib.h> double fun(int n) { /***********Begin*************/ /***********End****************/ } int main() { int n; double s; FILE *out,*in; printf("\nInput n: "); scanf("%d",&n); s=fun(n); printf("s=%lf\n",s);
时间: 2023-07-18 08:51:00 浏览: 116
CRC-8.zip_C++ CRC 8_CRC 8_crc-8_crc-8 x8+x2+x+1
以下是函数fun的代码:
double fun(int n) {
double s = 1.0; // 初始化为1
double fact = 1.0; // 阶乘
for (int i = 1; i <= n; i++) {
fact *= i; // 计算阶乘
s += 1.0 / fact; // 按公式计算
}
return s;
}
解释:函数fun中使用循环计算公式中每一项的值,同时用fact变量记录当前项的阶乘,最终将每一项的值加起来得到最终的s值,作为函数返回值。初始值为1,因为公式中的第一项是1。
阅读全文