1樓:無情天魔精緻
用g++編譯器
//圓周率的計算方法!(能精確到800多位)#include
const int n=2800,a=10000;
int c=n,e=0,f[n+10];
int main()
int digit=e+d/a;
if (digit==3141)
else if (digit<10)printf("000");
else if (digit<100) printf("00");
else if (digit<1000) printf("0");
printf("%d",digit);
e=d%a;
c-=14;
}getchar();
} //圓周率的計算方法!(能精確到800多位)#include
const int n=2800,a=10000;
int c=n,e=0,f[n+10];
int main()
int digit=e+d/a;
if (digit==3141)
else if (digit<10)printf("000");
else if (digit<100) printf("00");
else if (digit<1000) printf("0");
printf("%d",digit);
e=d%a;
c-=14;
}getchar();}
2樓:匿名使用者
因為你的標題都說是求pi的近似值,所以不標準啊。
補充:你比較一下第一個和第二個,第一個裡面deno第一項中是1,第二個裡面deno第一項是3,這明顯不一樣啊
3樓:匿名使用者
printf("%10.8lf\n",4*sum);這段,裡面的浮點型精準度到多少位不夠,所以後面無法得出正確結果
浮點型小數點後面有效數字為6~7位
雙精度浮點型小數位後有效位數15~16位。
明白了吧
c語言程式設計,計算π的近似值
4樓:匿名使用者
演算法錯誤。程式思路非常混亂。n++只一次,並沒有迴圈,那麼一開始計算x0時n=1,以後每次計算x0的值時n都等於2。而計算公式是要對n進行累加迴圈的。
#include
void main()
5樓:寒寒家
fabs=(1/(i+i+2)); 這裡應該是*號
另外這裡涉及到整形數字,最好還是把其中所有的1,2都寫成1.0, 2.0
6樓:匿名使用者
int n=1, t=2 應該改為float n=1, t=2。整型時t-(4*n*n)/(4*n*n-1)的結果為整形。
7樓:
#include
#include
int main()
sum=sum*4;
printf("%10.8f\n",sum);
system("pause");
return 0;
}輸出結果為:3.14159369
8樓:匿名使用者
樓主你好!
錯誤一:while(t-(4*n*n)/(4*n*n-1))>=1e-6)裡面少了一個左括號;
錯誤二:主要你是float和int混合在一起計算,特別你到了t-(4*n*n)/(4*n*n-1)和 t=(4*n*n)/(4*n*n-1);這兩步,相當有問題,結果並不是你想象那樣是個帶6位的小數,而是得到整數!第一次n=1時候;t-(4*n*n)/(4*n*n-1)=1條件成立,所以進入迴圈,a=2.
000000,當t=(4*n*n)/(4*n*n-1),計算後t為1,,n++為2;第二次到t-(4*n*n)/(4*n*n-1)=0,條件不成立,跳出迴圈,所以為什麼a為2.000000原因!
下面是我改了的!
#include
int main()
printf("%f ",a);
}結果為3.131604
算是接近π吧,偏差的原因,我估計是float精確到小數後六位,上面的多次迴圈,導致最後偏差有點大,我是這樣想的!
求大家指正!
9樓:篤俠
sum=sum+d/i;
改為sum=sum+1.0*d/i;試試。
c語言程式設計,求π的近似值
10樓:聽不清啊
#include
#include
int main()
int x,z;
float y;
y=0;
z=0;
for(x=1;fabs(1.0/x)>1e-6;x+=2)z=z+1;
if(z%2!=0)
y=y+1.0/x;
else
y=y-1.0/x;
y=y*4;
printf("π=%10.6f\n",y);
return 0;
用c語言求π的近似值
11樓:沈奕浪
迴圈體裡面的公式有點問題,我重新寫了一下,**如下:
void main()
printf("pi=%f\n",pi* 4);
system("pause");
}注意輸出的結果是pi*4,望採納!
12樓:金色潛鳥
#include
#include
int main ()
printf("pi=%f",pi*4.0);
return(0);
}係數用 k = -k; 的方法變化,不用 pow() .
這個級數收斂慢。注意結果的 pi 要乘 4。
c語言 求π的近似值
13樓:聽不清啊
term沒有初始值。
temp若是int,則程式中的計算將永遠是1。以下是修改後的程式及運**況:
14樓:安徽新華電腦專修學院
term有初始值嗎????上來就while term>=1.00001???
c語言程式題——求π的近似值
15樓:匿名使用者
for(n=1;n<=500;n++)中,n<=500不夠大,n值越大,pi近似值越準確
c語言,cos近似值計算,C語言求cos精確值 泰勒公式
你應該把di 1.0放在do while迴圈裡面開始處。修改後結果正確,程式如下 include stdio.h include math.h double funcos double e,double x int main void double funcos double e,double x ...
微分求近似值,高數,用微分求近似值,詳細過程,謝謝哦
凌白亦果珏 記函式y arctan x 那麼其微分 dy dx 1 x 注意1.02 1 0.02 x x,求對應x 1處,x dx 0.02對應的增量 y,根據微分定義 y arctan 1 4 y dy dx 1 x 0.02 1 1 0.01arctan 1.02 y y y dy 4 0.0...
如何求近似值,二年級怎麼求近似數?
娛樂大潮咖 求近似值可取的方法 四捨五入法 進一法 退一法 去尾法 牛頓法。1 四捨五入法 根據要求,要省略的尾數的最高位上的數字小於或等於4的,就直接把尾數捨去 如果尾數的最高位數大於或等於5,把尾數捨去後並向它的前一位進 1 即滿五進一。這種取近似數的方法叫做四捨五入法。如 把 3.15482 ...