[英]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
This is what I tried:这是我试过的:
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();
}
}
}
I don't know why it doesn't work.我不知道为什么它不起作用。 The program should stop when odd numbers and even number equals N.
当奇数和偶数等于 N 时,程序应该停止。
You never update n
so the loop will never exit你永远不会更新
n
所以循环永远不会退出
So evenNumbersCount
and oddNumbersCount
will never count up所以
evenNumbersCount
和oddNumbersCount
永远不会计数
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();
}
}
}
It seems you've forgotten to get new number inside the loop.看来您忘记了在循环中获取新号码。 It keeps checking the first number ItThe while loop works until the
Odd + Even numbers are equal to n
.它不断检查第一个数字 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.