【发布时间】:2020-08-17 09:18:09
【问题描述】:
我正在接受 C# 培训的第二周,所以我对编程很陌生。我必须制作一个程序,从一系列随机整数输入中返回最小的整数。一旦输入 = 0,程序应该跳出循环。我只被允许使用 while 和 for 循环。出于某种原因,我的程序在第二次输入后跳出循环,看起来它甚至不在乎是否有“0”。你能看看我哪里出错了吗?我一直在为此烦恼。抱歉,如果其他人已经发布了这个问题,但我在任何地方都没有找到答案。
PS:比较时应考虑零输入。 所以这就是我到目前为止所得到的:
class Program
{
static void Main()
{
int i = 0;
int input = Int32.Parse(Console.ReadLine());
int min = default;
while (input != 0)
{
Console.ReadLine();
if (i == 0)
{
min = input;
break;
}
if (input < min && i !=0)
{
input = Convert.ToInt32(Console.ReadLine());
min = input;
}
i++;
}
Console.WriteLine(min);
}
【问题讨论】:
-
您可能必须将数据存储到一个列表中,直到输入 0,一旦输入 0,获取该数组中的最小值
-
使用调试器逐步调试
-
if (i == 0)始终为真。因为int i = 0;而你在if之前没有改变它。 -
你对数字有限制吗,我的意思是你想输入多少个随机数来从中获取最小值。
-
嗨,@Hardood 不,我没有限制。结果应在输入零后出现。 Hamid Reza Mohammadi,我修改了 int i 的值,但它不起作用。
标签: c# loops input while-loop