你怎么用计数器来计算用户输入的偶数和奇数的数量?

时间:2016-07-04 00:56:56

标签: c++

到目前为止我有这个代码,它应该一直询问用户输入一个数字,直到他们输入0为止。然后程序会告诉用户他们键入了多少赔率和平均值。我不能让后一个功能正常工作。有小费吗?我是初学者,所以请没有先进的方法来解决这个问题:D

#include <iostream>
using namespace std;

int main ()
{

    int n;
    int myCounter1, myCounter2;
    cout << "Odds and Evens\n\n" << endl;
    do
    {
        cout << "Please enter an integer: ";
        cin >> n;

        myCounter1 = 0;
        myCounter2 = 0;
        if (n%2 == 0)
        {
            myCounter1++;
        }
        else 
        {
            myCounter2++;
        }

    }
    while (n!=0);
    cout << "You entered " << myCounter1 << " even numbers, and " << myCounter2 << "odd numbers " << endl;

    return 0;
}

4 个答案:

答案 0 :(得分:1)

 Role name |                   Attributes                   |
-----------+------------------------------------------------+
jacobcrofts| Superuser, Create role, Create DB, Replication |

应该是

        else n == 0
        {
            myCounter2++;
        }

老实说,我甚至不知道为什么它没有引起你的注意,因为它无法编译。

此外,您不应在循环中将计数器设置为零。所以

        else
        {
            myCounter2++;
        }

应该是

    int myCounter1, myCounter2;
    cout << "Odds and Evens\n\n" << endl;
    do
    {
        cout << "Please enter an integer: ";
        cin >> n;

        myCounter1 = 0;
        myCounter2 = 0;

最后,因为您可能不应该将0计算为输入的整数之一...

    int myCounter1=0, myCounter2=0;
    cout << "Odds and Evens\n\n" << endl;
    do
    {
        cout << "Please enter an integer: ";
        cin >> n;

答案 1 :(得分:1)

一些事情:

  • 代码缩进(或缺少代码缩进)使得这很难阅读。缩进不仅是装饰性的,而且可以帮助理解代码。

  • 每次循环运行时,您都将计数器变量设置为零。在循环之外声明它们,以便它们保留它们的值。

  • dl = [] for i in gr2.Segment.tolist(): l = len(i[0]) r = len(i[1]) dl.append(l) 语句的else子句具有错误的语法。请使用简单的if,因为else的奇偶校验只有两种情况。

  • 当用户键入n退出循环时,它也被视为偶数整数。在0语句中添加条件以解决此问题。

应用这些更改会产生以下代码:

if

答案 2 :(得分:0)

您有2个错误和1个语法错误。 行:else n == 0应该只是else

2个错误与您的计数器有关: 1)您必须从计数器中排除0输入。

2)每次读数时,你都将它们(计数器)设置为零,这意味着你总是以零和一结束。

答案 3 :(得分:-1)

这是任何有兴趣的人:

包括

使用namespace std;

int main() {

int n;
int myCounter1 = 0;
int myCounter2 = 0;
cout << "Odds and Evens\n\n" << endl;
do
{
cout << "Please enter an integer: ";
cin >> n;


if (n%2 == 0)
{
myCounter1++;
}
else
{
myCounter2++;
}

}
while (n!=0);
cout << "You entered " << myCounter2 << " odd numbers, and " << myCounter1-1 << " even numbers " << endl;

返回0; }