奇/偶数总数

时间:2019-02-25 01:14:04

标签: c++

您好,我尝试仅显示输入数字的奇/偶数数量。我尝试了多种方法,但是找不到任何解决方案。这就是问题,到目前为止,我有什么。

编写一个程序,允许用户输入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;
}

1 个答案:

答案 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++;
     }
}