题目:利用
pi 2 2 4 4 6 6
― 约= ― * ― * ― * ― * ― * ― * ……前100项之积计算pi的值
2 1 3 3 5 5 7
#include<stdio.h>
#include<math.h>
void main()
{
int i;
float;
for(i=2;i<=50;i=i+2)
{
pi=pi*( i / (i-1) ) * ( i / ( i+1) );
}
pi=pi*2;
printf("pi=%f\n",pi);
}
我写好运行的时候他说
error: 9:undefined symbol 'pi' in function main
我用的是TC2.0
教我下。。谢谢
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
int i;
float pi;
for(i=2;i<=50;i=i+2)
{
pi=pi*( i / (i-1) ) * ( i / ( i+1) );
}
pi=pi*2;
printf("pi=%f\n",pi);
}
少了个pi。。但是我加进去后运行后结果是 pi=0.000000
为什么?
----------------解决方案--------------------------------------------------------
我在float pi;后面在加了一条语句
pi=1;
但是运行结果还是pi=0.000000
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
float i;
float pi=1.0;
for(i=2;i<=1000;i=i+2)
{
pi=pi*(i/(i-1)) * ( i /(i+1));
}
pi=pi*2;
printf("pi=%f\n",pi);
getch();
}
这就行拉!
但是我比较怀疑你的公式?!
不知你哪弄的公式,好象不对啊
你那pi的近似值取的是不是有点太夸张拉?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
float i;
float pi=1.0;
for(i=2;i<=1000;i=i+2) 这里为什么是1000?
{
pi=pi*(i/(i-1)) * ( i /(i+1));
}
pi=pi*2;
printf("pi=%f\n",pi);
getch();
}
题目是在书上找来的。课后习题。。
pi=pi*(i/(i-1)) * ( i /(i+1));
这个公式不对吗??
----------------解决方案--------------------------------------------------------
公式没错,注意类型``
----------------解决方案--------------------------------------------------------
恩。谢谢
----------------解决方案--------------------------------------------------------