【发布时间】:2012-02-26 10:35:41
【问题描述】:
我编写了以下代码来总结系列(-1)^i*(i/(i+1))。但是当我运行它时,对于任何 n 值,我都会得到 -1。
有人可以指出我做错了什么吗?提前谢谢!
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
int i = 1.0;
int n = 5.0;
for(i=1;i<=n;i++)
sum = (-1)^i*(i/(i+1));
cout << "Sum" <<" = "<< sum << endl;
return 0;
}
【问题讨论】:
-
您认为
^运算符的作用是什么?您是要执行异或运算,还是要执行幂运算? -
为什么要为整数分配浮点数? (
int i = 1.0) -
首先你的设置总和循环的每一次通过,而不是添加到它的前一个值。第二个 ^ 并没有像你想象的那样提高力量。查看 c 数学库。并注意当你分成分数时发生的隐式转换。