帮我看看这个代码有什么呢问题,我 return 弄不太清楚
题目是:e=1+1/1!+1/2!+1/3!+...
但这个公式会随着项数的不同计算出近似的e的值,我们现在的任务时输入最后一项的值
如100,就加到1/100!,然后输出e的值(保留10位小数)
#include <iostream>
#include<cmath>
#include<cstdio>
#include<iomanip>
using namespace std;
int jc (int n);
int main()
{
double a,b;
cin>>a;
for(int i=0;i<=a;i++){
b=1.0/jc(i)+b;
}
cout<<setprecision(10)<<std::fixed;
cout<<b;
return 0;
}
int jc(int n){
long long m=1;
for(int i=1;i<=n;i++){
m=i*m;
}
if(m!=0){return m;}
else {return 1;}
}
为什么我调试时,它都不自上而下执行呢