#include <iostream.h>
//using namespace std;
int fact (int n)//递归求N的阶乘
{
if(n==0||n==1) return 1;
else return n * fact(n-1);
}
void main ()
{
int n;
double sum=0.0;
cin>>n;
while (n >= 0)
{
sum = sum + 1/(double(fact(n)));//求1/n!的和,其中n!是整形数,必须强制转换为双精度实型
n--; //否则结果就会出错
}
cout << sum << endl; //sum记录了求和结果,输出即可
} //end
程序已经在c++ 6.0调试通过。可用
温馨提示:答案为网友推荐,仅供参考