到目前为止这是我的代码
#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/