为啥没有出现答案?
Posted
技术标签:
【中文标题】为啥没有出现答案?【英文标题】:why is the answer not showing up?为什么没有出现答案? 【发布时间】:2021-05-05 09:41:01 【问题描述】:我正在用 C++ 编写代码,我应该在其中找到该系列,我自己为该系列构建了函数,但我调用了该函数,但我没有找到答案 这是我的代码
#include <iostream>
#include <cmath>
using namespace std;
double harmonicSeries(int n);
int main()
int n;
cout << "Enter n" << endl;
cin >> n;
harmonicSeries(n);
double harmonicSeries(int n)
for (int i = 1; i <= n; i++)
float s;
float sum = 0.0;
s = 1 / n;
sum += s;
return sum;
我会感谢任何帮助
【问题讨论】:
你忘了打印你的函数的结果,试试std::cout << harmonicSeries(n);
另外,你的函数总是在第一次循环迭代后返回,你确定这是你想要的吗?
我根据你的 cmets 修复了一点,但现在我得到了错误的答案
#include <iostream> #include <cmath> using namespace std; double harmonicSeries(int n); int main() double n; cout << "Enter n" << endl; cin >> n; cout<<harmonicSeries(n); double harmonicSeries(int n) for (int i = 1; i <= n; i++) double s; double sum = 0.0; s = 1 / n; sum += s; double sum; return sum;
【参考方案1】:
看到我已经对您的代码进行了更改,这在查找数字并相加以获得它们的总和时效果很好。您应该在函数外部使用 return 并且基本上谐波级数的形式是 1/n,可以是任何浮点数或双数,所以我使用 s 作为双数,我有浮点数(由此而来)。
s=1/i(double=1/float,被转换为双精度)
#include <iostream>
#include <cmath>
using namespace std;
double harmonicSeries(int n);
int main()
int n;
cout << "Enter n" << endl;
cin >> n;
cout<<harmonicSeries(n);
double harmonicSeries(int n)
double sum=0.00;
double s;
for (float i = 1; i <= n; i++)
s = 1 / i;
sum += s;
return sum;
如果您发现任何错误,请务必询问:)
【讨论】:
哦,我才意识到我的错误,所以真的真的非常感谢你 不用担心。随时为您提供帮助:)以上是关于为啥没有出现答案?的主要内容,如果未能解决你的问题,请参考以下文章