【发布时间】:2020-07-20 19:39:51
【问题描述】:
我被数组困住了,需要一些帮助。
我有两个数组,我正在使用 foreach 循环对其进行比较。我希望程序仅在winningNumbers 中有两个数字与someNumbers 匹配时才写“你赢了”。如果只有一个匹配,输出应该是“你输了”
(我必须使用循环来解决这个问题)
int[] someNumbers = { 1, 2, 3, 4, 5, 6 };
int[] winningNumbers = { 1, 2, 13, 14, 15, 16 };
bool winning = false;
foreach (var item1 in someNumbers)
{
foreach (var item2 in winningNumbers)
{
if (item1 == item2)
{
winning = true;
}
}
}
if (winning == true )
{
Console.WriteLine("You won");
}
else
{
Console.WriteLine("You lost");
}
【问题讨论】:
-
我能想到的最好的方法是如果我设置 intwinning = 0;并获胜++;在 foreach 循环中。
-
您显然需要跟踪到目前为止找到了多少匹配项。这个问题对于家庭作业问题来说有点太宽泛了。试着一步一步写下你如何确定获胜状态的逻辑,并将这些步骤转换为 C# 代码。
-
是的,我想我们现在在同一个页面上?赢了++;我可以计数,然后使用 if 循环输出