首页 > 解决方案 > 找到无限系列的总和。为什么它发出零数量?

问题描述

您需要找到具有给定精度的无限级数的总和。(带有任务的图片作为链接给出)程序不断计算零数量。我不明白我的错误是什么

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
    int i;
    int n =1;
    double E,x,q;
    double sum = 0;

    scanf ("%f",&E) ;
    scanf ("%f",&x) ;

    q=pow(x,3)/6;

    while(fabs(q)>=E){

        if (n/2==0) {
            sum=sum+q;
        }
        else {
            sum=sum-q;
        }
        q=(q*pow(x,2))/(n+3);
        n=n+1;
    }
    printf("%f",sum);
    return 0;
}

标签: c

解决方案


它永远不会进入那个 if 语句。您让 n=1 并且它将始终为 1,并且您在 else 中执行 n=n+1。


推荐阅读