您好,我尝试仅显示输入数字的奇/偶数数量。我尝试了多种方法,但是找不到任何解决方案。这就是问题,到目前为止,我有什么。
编写一个程序,允许用户输入10个独立的整数。从用户接受这10个数字后,程序应向用户显示输出,告知他们输入的数字中有多少是奇数,有多少是偶数。
#include <iostream>
using namespace std;
int main() {
char even, odd;
int number;
for(int i = 1;i<=10;i++) {
cout << "Enter Number " << i << ":" ;
i=i+0;
cin >> number ;
}
if (number%2==0){
number = even;
}
cout<< "You entered:\n";
cout << "Odd Numbers: " << odd << endl;
cout << "Even Numbers: " << even << endl;
return 0;
}
答案 0 :(得分:1)
您的代码中有些东西看起来不正确。
for(int i = 1; i <= 10; i++)
{
cout << "Enter Number " << i << ":";
i = i + 0;
cin >> number;
}
您希望i = i + 0
行完成什么工作?没有它,您的循环就可以正常工作。
char even, odd;
从技术上讲,由于char
是数字类型,因此可以通过跟踪偶数和奇数来跟踪它们。但是,您没有这样做。
声明:
if (number%2==0){
number = even;
}
是说如果输入number
是偶数,则将char even
的当前值分配给number
。但是,这没有任何意义,因为您以前从未在even
中存储值。另外,您正在循环 中进行此操作,因此有效地,只有number
中读取的10个值中的最后一个才可以计入您的计算中(如果您正确执行了该操作)。
您应该做什么:
int even = 0, odd = 0;
for(...)
{
// read input into "number"...
if(number % 2 == 0)
{
even++;
}
else
{
odd++;
}
}