把你的return 0;语句改到最后一行就行了 即:
#include
#include
#include
using namespace std;
int main()
{
int i;
double s=0;
//return 0;
double x=1;
for(i=1;fabs(x)>1e-8;i++){
x=pow(-1.0,i-1)/(2*i-1);
s=s+x;
}
s=s*4;
cout<<"pi的值为"<
}
你的程序要运行十几秒才能出答案,等等就出来了,没错的.
例3.12
用下面公式求π的近似值。π/4≈1-1/3+1/5-1/7+…
直到最后一项的绝对值小于10-7为止。
根据给定的算法很容易编写程序如下:
#include
#include
using namespace std;
int
main( )
{
int s=1;
double n=1,t=1,pi=0;
while((fabs(t))>1e-7)
{pi=pi+t;
n=n+2;s=-s;
t=s/n;
}
pi=pi*4;
cout<<"pi="<
}
希望对你有帮助
OS Versions: Windows CE 2.0 and later.
Header: stdlib.h.
Link Library: coredll.dll.
所以应该包含stdlib.h.
x=pow(-1.0,(i-1)/(2*i-1));
括号有问题的,还有就是注意i是个int型的
如果是黑屏刷一下
用下面这个方法解决:
在最后加上
system("pause");
return 0的位子有点滑稽,是不是打错了?是不是pow的函数重载的问题,有可能你的形参类型不符合,比如i的类型换成double试试。
return 0 ?!