#include"stdio.h"
main()
{
int p=1;
float pi=0,i=1;
while i>=1e-6;
{
pi=pi+p*i;
i=i/(i+2);
p=-p;
}
pi=pi/4;
printf("%f",pi);
}
不是while的问题,上面我打错了,是while(i>=1e-6),各位不好意思,
另外问题是用pi/4=1-1/3+1/5-1/7+....公式求圆周率的近似值
不是while的问题,上面我打错了,是while(i>=1e-6)
追答没有别的语法问题了,弱弱问一句,是不是程序算法错了
这程序是要计算什么的?
#include
main()
{
int p=1;
float pi=0,i=1,t=1;
while (t>=1e-6)
{
pi=pi+p*t;
t=1/(++i,++i);
p=-p;
}
pi=pi*4; //乘
printf("%f",pi);
getchar();
}
奥,不是这里,我打的时候掉了,不好意思
追答去掉分号啊,那是空语句,会使后面花括号你的代码没有循环执行了。
而且空语句下,会导致死循环,i始终>=1e-6
改后,结果是0.191125啊
关键你是求什么啊?若是你的逻辑都错了,结果自然不对。
问题是用pi/4=1-1/3+1/5-1/7+....公式求圆周率的近似值
追答#include"stdio.h"
main()
{
int p=-1;
double pi=1,i=1,t;
while(1)
{
t=1/(i+2);
if(t<1e-6) break;
pi=pi+p*t;
i+=2;
p=-p;
}
pi=pi*4;
printf("%lf",pi);
getchar();
}
pi初值1,第一项求-1/3,符号p=-1,i=1
最后pi要乘以4