#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main( )
{
double piCurrent, piFormer;
int n;
n = 1;
piCurrent = (1.0/n)*4;
do {
piFormer = piCurrent;
n = n+2;
if ( ((n-1)/2)%2 == 0 )
piCurrent = piFormer + 4*1.0/n;
else
piCurrent = piFormer - 4*1.0/n;
} while (fabs(piCurrent-piFormer)>1.0E-6);
cout << "循环参数n = " << n << endl;
cout << fixed << setprecision(5);
cout << "PI = " << piCurrent << endl;
return 0;
}
求助大神~~~~
} while (fabs(piCurrent-piFormer)>1.0E-6);这里为什么是大于……
cout << fixed << setprecision(5);这一句好像没什么作用……
但是他是大于号-_-#
追答大于号就表示这两个数还不相等,循环就继续执行,直到小于或等于,就表示两个数相等了,循环退出。