如何在计算金额时发现错误

时间:2019-01-27 15:50:42

标签: c++ math

我试图通过计算金额来完成一项任务。任务是Sn =(cosx / 1)+((cosx + cos2x)/ 2)+ ... +((cosx + ... + cosxn)/ n); x-浮点数,n-整数。 但是程序在每种情况下都输出零。

其在DevC ++ 5.11上编写的c ++代码。我几乎完成了代码,但是找不到错误。

float funct(float x, float s, int n)
{
    if (n < 1) {
        cout << s;
        return 0;
    }
    for (int i = n; i < 1; i--) {
        float a = (cos(i * x)) / n;
        s = s + a;
    }
    return funct(x, s, n - 1);
}

int main(void)
{
    float x = 1, s = 0;
    int n;
    cin >> n;
    funct(x, s, n);
}

我希望输出类似于可怕的浮点数,但实际输出为零。

1 个答案:

答案 0 :(得分:1)

for (int i = n; i < 1; i--) 

应该是

for (int i = 1; i <= n; i++) 

如果您希望它从1循环到n

相关问题