试题与答案

请编写函数fun(),其功能是计算并输出下列多项式值 Sn=1+1/1!+1/2!+

题型:问答题

题目:

请编写函数fun(),其功能是计算并输出下列多项式值 Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!例如:从键盘输入15,则输出为s=2.718282。注意;部分源程序以存在文件test37_2.cpp中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。文件test37_2.cpp的内容如下: #include<stdio.h> #include<iostream.h> double fun(int n) { } void main ( ) { int n; double s; cout<<"Input n:"<<end1; cin>>n; s=fun(n); cout<<"s="<<s<<end1; }

答案:

参考答案:

解析:double fun(int n) { double t,sn=1.0; int i,j; for(i=1;i<=n;i++) {t=1.0; for(j=1;i<=i;j++) t*=j; sn+=1.0/t; } return sn; } 本题解法是通过观察所给的多项式,可以找出该多项式相应的数学规律。本题中,多项式是一个累加求和的多项式,并且每一项总是比前一项多乘一个整数,所乘整数恰好等于每一项的编号,这样利用循环语句进行阶乘、累加就可以实现功能。由于函数中出现了“/”的运算,所以最终的函数值要考虑到用double类型。

试题推荐
微信公众账号搜索答案