|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 mack1983 于 2014-3-11 15:57 编辑
直接上图上代码:
//题目:用∏/4≈1-1/3+1/5-1/7+1。。。。公式求∏的近似值,直到某一项的
//绝对值小于1e-6为止.
//程序提示:
//1。要确定处算的精度,可以配合while循环语句用fabs()函数确定
//精度来退出。
//2。据观察,分子不变,分母却每次递增2,且正负切换。
//3。记得结果乘以4。
#include <stdio.h>
#include <math.h>
void main()
{
int s;
double n,t,pi;
// ∏/4≈1-(1/3)+(1/5)-(1/7)+(1/9)
t=1;
pi=0;
n=1.0;
s=1;
while(fabs(t)>1e-6) // t=1 t的绝对值还是1, le-6=0.000001
{
pi=pi+t; // pi=0+1
n=n+2; //分母 n=3.0
s=-s; //符号 s=-1
t=s/n; // t=-1/3 这里只是把原来1/3变成-1/3 =-0.3333333333...
//? 1-(1/3)的操作呢?正常的1-(1/3)=1-0.333333=0.677777,这里并没有看到这个
// 或有代替这个的操作啊,上一步把正的0.333333变成-0.333333,1--0.333333,
// 也变成了1+0.333333,跟公式里的1-(1/3)也不符啊~~
// 请有空的大虾解答一下~~
}
pi=pi*4;
printf("pi=%10.6lf\n",pi);
}
|
|