为什么这段代码没有按预期工作?
当我开始调试时,proizvod总是在1,bat应该是
0.75 = 1 - (1/4) and so on.
我的代码就是这个
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain()
{
int plusminus = 1, brojac = 0;
double proizvod = 1;
double pi;
while (brojac < 6)
{
plusminus = plusminus + 2;
if (brojac % 2 == 0)
{
proizvod = proizvod - ( 1 / plusminus );
}
else
{
proizvod = proizvod + ( 1 / plusminus );
}
pi = proizvod * 4;
brojac++;
}
cout << "Broj PI sa 6 decimala je " << pi << " ." << endl;
}
答案 0 :(得分:1)
1 / plusminus
只能为0,因为plusminus
是一个整数&gt; 1(你在开始时将它增加2),这样你就会经历整数除法。
修复示例:1.0 / plusminus