C语言用for循环求PI的值PI/4≈1-1/3+1/5-1/7+1/9....

来源:百度知道 编辑:UC知道 时间:2024/06/03 12:20:31
直到某一项的值小于1e-6.
to:高金山
EPSILON可以不用定义直接使用么~?

#include <stdio.h>
#define EPSILON 1e-6
int main()
{
double f=1.0,sum=0.0;
int m=1,n=1;
for(m=1,n=1;m>EPSILON*n;m+=2)
{
sum+=f*m/n;
f*=-1;
}
printf("sum=%lf\n",sum);
return 0;
}

在楼上的基础上改的
#include <stdio.h>
#define EPSILON 1e-6
int main()
{
double f=1.0,sum=0.0;
int m=1,n=1;
for(m=1,n=1;m>EPSILON*n;n+=2) //改动1:m+=2 --> n+=2
{
sum+=f*m/n;
f*=-1;
}

sum *= 4; // 改动2:增加一行
printf("sum=%lf\n",sum);
return 0;
}

#include"stdio.h"
void main()
{
double pi=0.0;
int i;
double e=1e-6;
for(i=0;1/(2*(double)i+1)>e;i++)
{

if(i%2==0)
pi+=1/(2*(double)i+1);
else
pi-=1/(2*(double)i+1);
}
pi*=4;
printf("pi=%lf\n",pi);

}

楼主不明白

#define EPSIL