c++for语句根据π=4 – 4/3 + 4/5 – 4/7 + 4/9 -4/11 ……求π,我的代码哪里错了

#include<iostream>usingnamespacestd;intmain(){inta=1;intb=1;inti;doublepi=0;for(i=1;i... #include<iostream>
using namespace std;
int main()
{
int a=1;
int b=1;
int i;
double pi=0;

for(i=1;i<=1000;i++)
{
pi+=4.0*(b/a);
a+=2;
b=-b;
}
cout<<"pi="<<pi<<endl;

}
怎么运行输出的都是4,为什么?
展开
 我来答
水上漂汤
2015-11-07 · TA获得超过1万个赞
知道大有可为答主
回答量:1830
采纳率:71%
帮助的人:1438万
展开全部
你知道pi += 4.0*(b/a); 这里要用4.0,你就应该想到b/a是int/贺银int,会忽略禅含宴小数老告
修改为
pi += 4.0 * b / a;
更多追问追答
追问
原来如此 我了解了
能再问你个问题吗 我想用pow(a,i)
但是后面又有a的取余,那我要怎么定义a和i
追答
定义为int和double都可以
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式