在未确定的范围内汇总奇数和偶数

时间:2014-02-09 19:06:35

标签: c++ sum

我的任务是创建一个程序,用户在其中输入起始值和结束值。然后该程序应该对该范围内的所有数字求和。另外,它应该将奇数和偶数相加。我的问题是确定用户范围中的哪些数字是奇数,哪些是偶数,然后将这些数值相加。总和循环工作,但我已尝试多个其他循环的奇数和偶数和没有成功。所以,如果有人可以帮助我根据是偶数还是奇数来总结这些数字。

#include <iostream>
using namespace std;
int main()
{

int sum = 0, start, endnumber;
int sumall = 0,  c=0;
cout << "Please enter the starting integer\n";
    cin >> start;
cout << "Please enter the ending integer\n";
    cin >> endnumber;
while (endnumber <= start)
{
cout << "Please enter the starting integer\n";
    cin >> start;
cout << "Please enter the ending integer\n";
    cin >> endnumber;
}

    while (start <= endnumber)
{

    sumall = sumall + start;
    ++start;

}
    std::cout << "The sum is: " << sumall << std::endl;

return 0;
}

2 个答案:

答案 0 :(得分:0)

您需要使用模数检查范围内的每个数字。 例如:

if( start%2 == 0 )  // even
{
    evenSum+=start;
}
else // Odd
{
     oddSum+=start;
}

那将完成这项工作。

答案 1 :(得分:0)

您可以通过和1测试奇数。

if ((start & 1) == 0)
    evenSum += start;
else
    oddSum += start;

与数学家交谈时的小注意事项:不要互换地使用模数和模数(即使维基百科说它们是相同的):

  • modulo是正数的%。
  • 模数是绝对函数。