C# 我如何将这个简单的按偶数计数程序转换为检测奇数并按赔率计数?
是的,我知道我已经用与主方法不同的方法声明了代码,尽管程序如此简单,但没有必要只是为了简单的实践而声明代码。我只是想知道,正如您在代码中看到的,它检测用户的输入,然后从该输入使用for循环,并平均计数。然而,如果我把一个奇数加进去,我希望它以赔率计算。我如何才能做到这一点?检查I%2!=写入%2。要打印奇数或偶数,如果i%2==x,则该行需要x=1打印偶数,x=0打印奇数。如果你取写的%2,如果它是偶数,你将得到0,如果它是奇数,你将得到1。由于要在输入为偶数时打印偶数,而在输入为奇数时打印奇数,因此在变量modNumber中存储一个数字,然后在i%2==x时使用该数字代替x。行int modNumber=写入%2==1?0:1在英语中,如果写入%2==1,则表示int modNumber等于0,否则等于1C# 我如何将这个简单的按偶数计数程序转换为检测奇数并按赔率计数?,c#,loops,for-loop,methods,C#,Loops,For Loop,Methods,是的,我知道我已经用与主方法不同的方法声明了代码,尽管程序如此简单,但没有必要只是为了简单的实践而声明代码。我只是想知道,正如您在代码中看到的,它检测用户的输入,然后从该输入使用for循环,并平均计数。然而,如果我把一个奇数加进去,我希望它以赔率计算。我如何才能做到这一点?检查I%2!=写入%2。要打印奇数或偶数,如果i%2==x,则该行需要x=1打印偶数,x=0打印奇数。如果你取写的%2,如果它是偶数,你将得到0,如果它是奇数,你将得到1。由于要在输入为偶数时打印偶数,而在输入为奇数时打印奇数
public static void Main()
{
EvenNumbers();
}
public static void EvenNumbers()
{
int written = int.Parse(Console.ReadLine());
for (int i = 0; i <= written; i++)
{
if (i % 2 == 1)
continue;
Console.WriteLine(i);
}
}
}
}
你只要数到两就行了。这将适用于偶数或奇数。对于奇数,需要从1开始,对于偶数,需要从0开始。你可以很容易地找出你需要做一个单一的mod操作。x%2对于奇数为1,对于偶数为0
public static void EvenNumbers()
{
int written = int.Parse(Console.ReadLine());
int modNumber = written % 2 == 1 ? 0 : 1;
for (int i = 0; i <= written; i++)
{
if (i % 2 == modNumber)
continue;
Console.WriteLine(i);
}
}
是你写的吗?我%2==1的意思是,如果这个数除以2剩下一个余数,那么跳过它。只需将1更改为0。%与数学中的模运算符相同。正确计数的几率比正确计数的几率低:你能给我解释一下modnumber的作用和0:1的用途吗?
public static void Count()
{
int written = int.Parse(Console.ReadLine());
for (int i = written % 2; i <= written; i += 2)
{
Console.WriteLine(i);
}
}