C ++代码问题

时间:2017-11-04 18:06:37

标签: c++

我试图找出这个任务,但到目前为止都没有成功。我想我理解它背后的逻辑,我只是​​不知道如何嵌套循环所以它的工作原理(如果这是有道理的)。我非常感谢你的帮助!

任务: “创建一个应用程序,用户输入完整的数字,直到输入数字0(零)。应用程序应打印出已输入的偶数,奇数,偶数之和和奇数之和,以及总数数字之和。“

到目前为止我的代码:

#include <iostream>
using namespace std;

void main() {

do {

int input1;
cout << "Type in a number";
cin >> input1;

} while (input1 != 0);

cout << "Type in a number";
cin >> input1;

if (input1 % 2 == 0)
{
 int even = 0;
 while (input1 % 2 == 0 )
  cout << even;
 even++;
}
else
{
 int odd = 0;
 while (odd != 0)
 {

  cout << odd;
  odd++;
 }
}

}

system("pause");
}

注意:我没有尝试完成任务的第三部分,因为第二部分不起作用:/我想出了第一部分,我用do while循环做了。再次感谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

int oddCount = 0;
int evenCount = 0;
int oddSum = 0;
int evenSum = 0;

int in;
do
{
    std::cout << "Type in a number:";
    std::cin >> in;

    if (0 == in)
        break;

    if ( in % 2 == 0 )
    {
        evenCount++;
        evenSum += in;
    }
    else
    {
        oddCount++;
        oddSum += in;
    }
} while ( true );

std::cout << "Odd count: " << oddCount << std::endl;
std::cout << "Even count: " << evenCount << std::endl;
std::cout << "Odd sum: " << oddSum << std::endl;
std::cout << "Even sum: " << evenSum << std::endl;
std::cout << "Total sum: " << oddSum + evenSum << std::endl;

答案 1 :(得分:-1)

看一下这段代码:

#include <iostream>

using namespace std;

int main() {
    int input;
    int total_sum = 0, odd_sum = 0, even_sum = 0;
    int odd_count = 0, even_count = 0;

    do {
        cout << "Type in a number: ";
        cin >> input;

        total_sum += input;

        if (input % 2 == 0)
        {
            even_count++;
            even_sum += input;
        }
        else
        {
            odd_count++;
            odd_sum += input;
        }

    } while (input != 0);

    cout << "Total Sum: " << total_sum << endl;
    cout << "Even sum: " << even_sum << endl;
    cout << "Odd sum: " << odd_sum << endl;
    cout << "Even Count: " << even_count << endl;
    cout << "Odd Count: " << odd_count << endl;

    return 0;
}

了解如何在循环外声明输入。如果它在里面,那么你基本上每次进入循环时都会创建它。如果你不想在循环之外使用它的值(如在循环条件中),这将没有问题。

另请注意,您需要计算的值可以在同一个循环中更新。