这里是循环条件,也就是说,只有符合 u>1.0e-7 的条件,循环就会继续进行,也就是说,到 u<=1.0e-7的时候,才会终止循环,即停止计算。
也就是说,for的循环条件是:符合这个条件才进入循环,不符合条件就不进入循环。所以要把这个跟终止条件不要搞混了。
#include
using namespace std;
double GetE();
double GetE2();
int main(int argc, char** argv)
{
double e = GetE();
cout << e << endl;
e = GetE2();
cout << e << endl;
return 0;
}
double GetE()
{
int n = 1;
int nn = 1;
int N = 10000000;
double e = 1;
while (nn < N)
{
e += (double)1/nn;
++n;
nn *= n;
}
return e;
}
double GetE2()
{
int n = 1;
int nn = 1;
int N = 10000000;
double e = 1;
do
{
e += (double)1/nn;
++n;
nn *= n;
} while (nn < N);
return e;
}
是否可以解决您的问题?