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

Sin*_*ina -1 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;
}
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 5

你正在使用整数除法,所以你的系列真的很快收敛.

制作s和a是doubleS,并更换4有4.0.

  • @Sina:我不是你的"老兄".无论如何,欢迎你. (5认同)