C语言题目 求π的近似值 急!!!!!!!!!!!!!!
求π的近似值:用while和dowhile两种方式!!!先求出前2n项的π值,再求出2n+2项的π值,直至二者之差小于10-5为止。...
求π的近似值:
用while和do while两种方式!!!
先求出前2n项的π值,再求出2n+2项的π值,直至二者之差小于10-5为止。 展开
用while和do while两种方式!!!
先求出前2n项的π值,再求出2n+2项的π值,直至二者之差小于10-5为止。 展开
1个回答
展开全部
你好,你看看这样写行不,望采纳:
#include <stdio.h>
int main(void)
{
double n=1.0,pi1=0.0,pi=1.0;
do
{
pi1=pi;
pi=pi*((2.0*n)/(2.0*n-1.0))*((2.0*n)/(2.0*n+1.0));
n++;
}while(2.0*(pi-pi1)>1e-5);
printf("%lf\n",2*pi);
return 0;
}
#include <stdio.h>
int main(void)
{
double n=1.0,pi1=0.0,pi=1.0;
do
{
pi1=pi;
pi=pi*((2.0*n)/(2.0*n-1.0))*((2.0*n)/(2.0*n+1.0));
n++;
}while(2.0*(pi-pi1)>1e-5);
printf("%lf\n",2*pi);
return 0;
}
追问
还有一个while的 可以再做一下吗 ><!!!
追答
这种是出口循环,所以我优先考虑do循环的,你想改当然可以,把循环改改,其他不要变:
while(2.0*(pi-pi1)>=1e-5)//上边的do也改">="把,因为题目要求是"<"时退出
{
pi1=pi;
pi=pi*((2.0*n)/(2.0*n-1.0))*((2.0*n)/(2.0*n+1.0));
n++;
}
反正初始值我们定义得pi和pi1不相等,所以挪一下位置就行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |