C++ 采用莱布尼兹公式的Pi近似

C++ 采用莱布尼兹公式的Pi近似,c++,C++,我似乎找不到我的代码有什么问题。 只要我输入任何大于0的整数,它就不会给我任何否定的答案 #include <iostream> #include <math.h> using namespace std; int k; double getPi(int = k) { double num1, num2=0; const int p = 4; for(int i = 1; k >= i; i ++) { num1 = pow(-1, k

我似乎找不到我的代码有什么问题。 只要我输入任何大于0的整数,它就不会给我任何否定的答案

#include <iostream>
#include <math.h>
using namespace std; 

int k;

double getPi(int = k) {
  double num1, num2=0;
  const int p = 4;

  for(int i = 1; k >= i; i ++) {
    num1 = pow(-1, k + 1)/(2 * k - 1);
    num2 = num2 + num1;
  }
  return num2 * p;
}

int main() {
  cout << "Iterations: ";
  cin >> k;
  cout << "Pi is approximated to be " << getPi(k);
}
在下面的行中使用i而不是k

num1 = pow(-1, k + 1)/(2 * k - 1);