问答题 例如, 在主函数中从键盘给x输入0.21后,输出为:s=1.100000。 注意: 部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的 花括号中填入你编写的若干语句。 给定源程序: #include #include double fun(double x) { } main() { double x,s; printf("Input x: "); scanf("%lf",&x); s=fun(x); printf("s=%f/n",s); NONO(); }
【正确答案】double fun(double x) { int n=1; /* 循环计数*/ double sn=1; /* 累计数*/ double xn=1,xn1=0; /*x的n值,以及x的n-1值;*/ while(fabs(xn-xn1)>=0.000001)/*绝对值是否满足条件*/ { xn=xn*x*(0.5-n+1)/n; /*表达式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/ n+=1; sn+=xn; /*sn累加上xn*/ } return(sn); }
【答案解析】