#include<stdio.h>
#include<stdlib.h>
double?PAI(int?n)
{
????double?pai;
????if(n==1)
????{
???????pai=2/3;
???????return?2/3;
????}
????else
????{
???????pai=PAI(n-1)+1/(4*n-3)-1/(4n-1);
???????return?pai;
????}
????int?main()
????{
???????int?n;
???????scanf("%d",&n);
???????printf("%lf",PAI(n));
???????return?0;
?????}
1 回答
已采納

Yexiaomo
TA貢獻152條經(jīng)驗 獲得超157個贊
如果你的問題 僅僅是 只能 輸出 0.000000
那么有 ?錯誤
error1:?第8行代碼:??改為??pai?=?2.0/3.0?; ????????/* ????????????因為?2/3??結(jié)果為?0 ????????????pai?為?double?類型, ????????????0?自動轉(zhuǎn)換為?0.000000 ????????*/ error2:第9行代碼?改為???return?pai;或者?改為?return?2.0/3.0 error3:第十三行代碼?改為?pai=PAI(n-1)+1/(4*n-3)-1/(4*n-1); error4:?第15行代碼?后再加一個?},??函數(shù)體?PAI?大括號不全
另外 這個程序 不知道 是干什么的, 所以問題 實際上還沒有解決
上面 的 希望對你有用, 希望你注意一下 類型之間的轉(zhuǎn)換 問題
- 1 回答
- 0 關(guān)注
- 1454 瀏覽
添加回答
舉報
0/150
提交
取消