当前位置: 代码迷 >> C语言 >> [求助]这题该怎么写?
  详细解决方案

[求助]这题该怎么写?

热度:118   发布时间:2006-04-19 12:36:00.0
[求助]这题该怎么写?

题目:利用
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));
这个公式不对吗??


----------------解决方案--------------------------------------------------------

公式没错,注意类型``


----------------解决方案--------------------------------------------------------
恩。谢谢
----------------解决方案--------------------------------------------------------
  相关解决方案