所以我正在尝试编写一个程序来计算项的总和,但每个项都是前一项减去第二项的 3 倍,所以它看起来像这样 0, 1, 3, 8, 21, 55
等等。例如,如果用户想要 4 个术语,那么程序应该输出 21。我遇到问题的部分是设置变量来存储前面的数字和第二个前面的数字。这是我目前所拥有的。
#include <iostream>
using namespace std;
int main(){
int num;
int last;
int last2;
int current;
cout << "Number of terms to be shown: ";
cin >> num;
for(int i = 0; i < num; i++){
for(int term; term <= i; i++){
//THIS IS WHERE IM STUCK
}
}
}
我看到它的方式是第一个 for 循环将告诉嵌套的 for 循环运行多少次。在嵌套的 for 循环中,我认为在更新 current = (last * 3) - last2
时数学应该去哪里( last
)和 last2
保持术语列表的变量。然后在循环外我会 cout << current
所以它会显示这个词。一如既往,我们将不胜感激!
最佳答案
您的代码中存在未定义行为:
for(int i = 0; i < num; i++){
for(int term; term <= i; i++){ // term not initiaized. and the loop is infinte
//THIS IS WHERE IM STUCK
}
}
您正在使用 term
而未被初始化。此外,您还停留在内部循环中,因为您应该在内循环中增加 term
而不是 i
。
所以你可以这样做:
for(int i = 0; i < num; ++i){
for(int term = 0; term <= i; ++term){
// now rock here
}
}
关于c++ - 计算项总和的程序? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58529464/