c++ - 计算项总和的程序? C++

标签 c++

所以我正在尝试编写一个程序来计算项的总和,但每个项都是前一项减去第二项的 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/

相关文章:

C++ 开关 () 错误

c++ - 使用 ostringstream 导致程序崩溃

c++ - 在Cmake中构建Assimp时出错

c++ - 打印值sin,cos,tan

c++ - 如何通过编译器命令行禁用 IBM xl C++ 编译器的特定警告?

c++ - is_member_function_pointer 实现

c++ - tbb parallel_reduce 用于 OpenMP 缩减的片段

c++ - C++ 中继承的运行时成本(没有虚拟性)?

c++ - std::shared_ptr::reset() "invalidates"其他引用

c++ - 如何实现与 std::map 一起使用的自定义分配器?