问答题 请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 例如,当n=10,x=0.3时,函数值为1.349859。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < conio.h >#include < stdio.h >#include < math.h >#include < stdlib.h >double fun(double x,int n){}void main(){ FILE*wf; system("CLS"); printf("%f",fun(0.3,10));/******************/ wf=fopen("out.dat","w"); fprintf(wf,"%f",fun(0.3,10)); fclose(wf);/******************/}
【正确答案】正确答案:double fun (double x,x int n) { int i; double s=1.0,s1=1.0; for(i=1;i < =n,i++) { s1=s1*i;/*各项中的阶乘*/ s=s+pow (x,i) /s1; 1*按公式求出*/ } return s; }
【答案解析】解析:程序定义了变量s1和s,s1表示每项的分母(即各项的阶乘),s存放累加和。循环语句控制累加的次数,在循环体中进行阶乘和累加操作,累加的结果存入s中。此处使用了求乘方函数pow(x,i),其含义是求x的i次方的值。