gpt4 book ai didi

c# - 模数的偶数/奇数循环计数

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:22 24 4
gpt4 key购买 nike

我正在尝试创建询问用户是否要输入数字的代码。然后它会询问他们是否希望将数字显示为偶数或奇数,并采用高点和低点作为起点和终点。

public void RunExercise()
{
int runthroughs = 0;

Console.WriteLine("Greetings, User!\nWelcome to the NumberPrinter!");
Console.WriteLine("Do you want to quit (1), or print numbers (2)?");
int userinp = int.Parse(Console.ReadLine());

while (userinp != 1)
{
runthroughs = runthroughs + 1;

Console.WriteLine("Do you want to print even (1) or odd (2) numbers?");
int oddeveninp = int.Parse(Console.ReadLine());

if (oddeveninp == 1 || oddeveninp == 2)
Console.WriteLine("Please enter a maximum value:");
int maxy = int.Parse(Console.ReadLine());
Console.WriteLine("Now enter a minimum value:");
int miny = int.Parse(Console.ReadLine());
Console.WriteLine("Highest number? {0}", maxy);
Console.WriteLine("Lowest number? {0}", miny);
int i;
for (i = miny; i <= maxy; i++)
{
if (i % 2 == 0)
{
Console.WriteLine(i+ " ");
}
else if (i % 2 == 1)
{
Console.WriteLine(i + " ");
}
}
}
}

就目前而言,无论用户提示仅输入奇数还是偶数,它都会打印出整个数字数组。

最佳答案

您的循环应替换为:

        for (i = miny; i <= maxy; i++)
{
bool isEven = ( i % 2 ) == 0;

if ( isEven && oddeveninp == 1
|| !isEven && oddeveninp == 2 )
{
Console.WriteLine( i );
}
}

主要问题是,如果数字是偶数,或者数字是奇数,你将数字写入控制台。由于任何数字都是奇数或偶数,这意味着您将始终打印 i

这里的关键点是当数字是偶数时你必须打印它并且用户选择打印偶数。相反,当它是奇数时,您必须打印该数字并且用户选择打印奇数。

希望这对您有所帮助。

关于c# - 模数的偶数/奇数循环计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54336569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com