C++ - 我的循环一直加起来为 0

标签 c++ loops for-loop

到目前为止这是我的代码

#include <iostream>
using namespace std;

int main ()
{
int num1 = 0;
int num2 = 0;
int sum = 0;


for(num2 = num1; num1 <= num2; num1 +=2) sum += num1;
    num1 = num1 / 2 == 0? num1 : num1 + 1;
    num2 = num2 / 2 == 0? num2 : num2 - 1;

cout << "Enter the First Number:" << endl;
cin >> num1;
cout << "Enter the Second Number:" << endl;
cin >> num2;
cout << "Total Sum: " << sum << endl;
  } //end for

但总和一直加起来为 0 :/

问题来了。

创建一个程序,显示用户输入的两个数字之间的偶数之和。换句话说,如果用户输入偶数,则该数字应包含在总和中。例如,如果用户输入整数 2 和 7,则总和为 12 (2 + 4 + 6)。如果用户输入整数 2 和 8,则总和为 20 (2 + 4 + 6 + 8 )。如果用户输入的第一个整数大于第二个整数,则显示错误消息。

最佳答案

代码是顺序执行的,for 循环初始化会让你失去循环的边界,请考虑改用这段代码。

#include <iostream>
using namespace std;

int main ()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;

    cout << "Enter the First Number:" << endl;
    cin >> num1;
    cout << "Enter the Second Number:" << endl;
    cin >> num2;

    if (num1 > num2) // swap the numbers and do not print error message
    {
        int temp = num1;
        num1 = num2;
        num2 = temp;
    }
    //make sure to start from even number
    num1 = num1 % 2 ? num1+1 : num1;

    for(; num1 <= num2; num1 +=2) 
        sum += num1;    
    cout << "Total Sum: " << sum << endl;
  } //en

关于C++ - 我的循环一直加起来为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983507/

相关文章:

c++ - 如何在静态函数中访问其他类实例变量

Android For 循环不停止

javascript - 在循环中使用相同的变量来解决 "Closures in the loop"问题

c++ - 用于存储值的函数参数

python - 绑定(bind) C++ 和 Python 时,SWIG 在使用 MinGW-w64 的 Windows 上不起作用 : DLL load failed while importing: The specified module could not be found

java - 我必须从多次调用的函数中返回一个值,但我无法做到这一点

css - HTML、CSS、内联 block Safari 浏览器

c - 需要一个答案和一些解释

c++ - 不寻常的范围解析运算符

function - 在 Haskell 中计算下一个素数