我试图找出这个任务,但到目前为止都没有成功。我想我理解它背后的逻辑,我只是不知道如何嵌套循环所以它的工作原理(如果这是有道理的)。我非常感谢你的帮助!
任务: “创建一个应用程序,用户输入完整的数字,直到输入数字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循环做了。再次感谢。
答案 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;
}
了解如何在循环外声明输入。如果它在里面,那么你基本上每次进入循环时都会创建它。如果你不想在循环之外使用它的值(如在循环条件中),这将没有问题。
另请注意,您需要计算的值可以在同一个循环中更新。