什么导致我的c ++代码中的错误?

时间:2015-11-01 19:10:53

标签: c++

我尝试编写代码,应该计算4 - 4/3 + 4/5 - 4/7 + 4/9 + ... 但它一直打印“3”作为答案。

#include <iostream>
#include <math.h>
#include <conio.h>

using namespace std;

int main()
{
    int s=0,a,n;
    cin>>n;
    for(int i=0 ; i<=n ; i++)
    {
        a=(4/((2*i)+1))*pow(-1,i);
        s=s+a;
    }
    cout<<s;
    return 0;
}

1 个答案:

答案 0 :(得分:5)

您正在使用integer division,因此您的系列会非常快速地收敛。

sa设为double,并将4替换为4.0