【发布时间】:2015-04-03 06:34:13
【问题描述】:
我目前正在学校学习 c#。
我的导师要求我:
- 使用迭代确定一维数组的最小值。
- 我不能使用常规方法,例如 max 或 min 函数。必须使用迭代来完成。
-
我正在从用户输入中获取数组值。
这是我下面的,但我觉得这不是他真正想要的。 - 编辑 - 我不能使用最大值属性。这超出了他所教的范围。对于那些正在寻找更具体问题的人。
没有向我展示完整的代码示例。在不使用最小值或最大值属性的情况下,我有哪些其他方法可以解决这个问题?
我很抱歉没有比这更清楚。这只是我在课程中的第三周,所以我对编程的总体理解非常低。
while (j < myDoubles.Length)
{
double myDoubles1 = myDoubles[j];
j++;
double myDoubles2 = myDoubles[j];
j++;
double myDoubles3 = myDoubles[j];
j++;
double myDoubles4 = myDoubles[j];
j++;
double myDoubles5 = myDoubles[j];
j++;
while (myDoubles1 < myDoubles2 && myDoubles1 < myDoubles3 && myDoubles1 < myDoubles4 && myDoubles1 < myDoubles5)
{
Console.WriteLine("myDoubles[1] is the lowest");
break;
}
while (myDoubles2 < myDoubles1 && myDoubles2 < myDoubles3 && myDoubles2 < myDoubles4 && myDoubles2 < myDoubles5)
{
Console.WriteLine("myDoubles[2] is the lowest");
break;
}
while (myDoubles3 < myDoubles1 && myDoubles3 < myDoubles2 && myDoubles3 < myDoubles4 && myDoubles3 < myDoubles5)
{
Console.WriteLine("myDoubles[3] is the lowest");
break;
}
while (myDoubles4 < myDoubles1 && myDoubles4 < myDoubles2 && myDoubles4 < myDoubles3 && myDoubles4 < myDoubles5)
{
Console.WriteLine("myDoubles[4] is the lowest");
break;
}
while (myDoubles5 < myDoubles1 && myDoubles5 < myDoubles2 && myDoubles5 < myDoubles3 && myDoubles5 < myDoubles4)
{
Console.WriteLine("myDoubles[5] is the lowest");
break;
}
【问题讨论】:
-
提示:你在一个循环中,但是做同样的事情 5 次。您不需要 5 个不同的变量,您需要将当前值与 到目前为止 的最低值进行比较。
-
如果我是教练,这绝对不是我期望得到的回报......
-
尝试使用
for或foreach循环执行此操作。提示:你需要在循环之前声明一个变量。 -
我认为他正在为我寻找其他方法来完成此任务。我认为我实际上并没有展示如何正确使用迭代来解决这个问题。这更像是我在操纵循环,使其更像是一个 if 而不是决策过程。
-
从这个开始:编写一个
for循环,迭代数组并将每个元素输出到屏幕。每次循环迭代,您应该只访问数组的一个元素。