#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条经验 获得超157个赞
如果你的问题 仅仅是 只能 输出 0.000000
那么有 错误
error1: 第8行代码: 改为 pai = 2.0/3.0 ; /* 因为 2/3 结果为 0 pai 为 double 类型, 0 自动转换为 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行代码 后再加一个 }, 函数体 PAI 大括号不全
另外 这个程序 不知道 是干什么的, 所以问题 实际上还没有解决
上面 的 希望对你有用, 希望你注意一下 类型之间的转换 问题
- 1 回答
- 0 关注
- 1417 浏览
添加回答
举报
0/150
提交
取消