c - 找到无限系列的总和。为什么它发出零数量?
问题描述
您需要找到具有给定精度的无限级数的总和。(带有任务的图片作为链接给出)程序不断计算零数量。我不明白我的错误是什么
#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;
}
解决方案
它永远不会进入那个 if 语句。您让 n=1 并且它将始终为 1,并且您在 else 中执行 n=n+1。
推荐阅读
- java - 在 CPLEX for Java 中设置时间限制
- snowpack - snowpack:项目文件夹之外的参考文件
- python-3.x - 我应该在 Pytorch 的以下架构中将输入图像尺寸放在哪里?
- c++ - 使用`dlopen`时有关“未定义符号”的共享库错误
- netsuite - 此处应有一个选项,而不是在使用 sdfcli 命令验证或部署 SuiteApp 项目时返回的“T”
- python - UnicodeDecodeError:从 .txt 文件中读取西班牙语文本
- wxwidgets - wxOwnerDrawnComboBox-inherited 类不可聚焦
- linux - 将顶部输出重定向到文件时可以看到特殊字符
- java - 为什么我已经抛出未报告的异常 java.net.MalformedURLException?
- html - 如何使这些 div 响应任何设备?