簡體   English   中英

寫一個程序,讀取N,然后不斷讀取整數,檢查是否有奇數或偶數,直到奇數和偶數都等於N

[英]Write a program that reads N and then continuously read integers and check if there are odd or even until odd and even number equals N

這是我試過的:

using System;

namespace OddAndEvenNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            int requiredOddAndEvenNumbers = Convert.ToInt32(Console.ReadLine());
            int oddNumbersCount = 0;
            int evenNumbersCount = 0;
            int n = Convert.ToInt32(Console.ReadLine());
            while (oddNumbersCount <= requiredOddAndEvenNumbers || evenNumbersCount <= requiredOddAndEvenNumbers)
            {
                if (n % 2 == 0)
                {
                    evenNumbersCount++;
                }
                else if (n % 2 != 0)
                {
                    oddNumbersCount++;
                }
            }
            Console.WriteLine(evenNumbersCount + " " + oddNumbersCount);
            Console.ReadLine();
        }
    }
}

我不知道為什么它不起作用。 當奇數和偶數等於 N 時,程序應該停止。

你永遠不會更新n所以循環永遠不會退出
所以evenNumbersCountoddNumbersCount永遠不會計數

using System;

namespace OddAndEvenNumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            int requiredOddAndEvenNumbers = Convert.ToInt32(Console.ReadLine());
            int oddNumbersCount = 0;
            int evenNumbersCount = 0;
            int n = Convert.ToInt32(Console.ReadLine());
            while (oddNumbersCount <= requiredOddAndEvenNumbers || evenNumbersCount <= requiredOddAndEvenNumbers)
            {
                if (n % 2 == 0)
                {
                    evenNumbersCount++;
                }
                else if (n % 2 != 0)
                {
                    oddNumbersCount++;
                }
                n++;
            }
            Console.WriteLine(evenNumbersCount + " " + oddNumbersCount);
            Console.ReadLine();
        }
    }
}

看來您忘記了在循環中獲取新號碼。 它不斷檢查第一個數字 ItThe while 循環工作,直到Odd + Even numbers are equal to n

int requiredOddAndEvenNumbers = Convert.ToInt32(Console.ReadLine());
int oddNumbersCount = 0;
int evenNumbersCount = 0;
int n = 0;

while ((oddNumbersCount + evenNumbersCount) < requiredOddAndEvenNumbers)
{
    n = Convert.ToInt32(Console.ReadLine());
    if (n % 2 == 0)
    {
        evenNumbersCount++;
    }
    else if (n % 2 != 0)
    {
        oddNumbersCount++;
    }
}

Console.WriteLine("evenNumbersCount: {0}", evenNumbersCount);
Console.WriteLine("oddNumbersCount: {0}", oddNumbersCount);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM