[英]C# While Loop (adding the user input to reach a target)
我需要创建一个程序,添加用户输入以达到目标,结果如下所示。
我必须为此使用“ While循环”,但很难使用while循环...
这是我的代码
Console.WriteLine("Enter Target Value: 6");
int total = 0;
int target = 6;
int i;
for (i = 1; i <= 4; i++)
{
Console.Write("Enter #{0}:\t", i);
total += Convert.ToInt32(Console.ReadLine());
}
while (total == target);
Console.WriteLine("It took {0} inputs to take the sum to\t{1}",i, total);
Console.ReadLine();
您能帮我发现问题吗?
这是完整的示例。
static void Main(string[] args)
{
try
{
int i = 0;
int number;
int input=0;
Console.WriteLine("Enter target number ");
number = int.Parse(Console.ReadLine());
while (input != number && input < number)
{
Console.WriteLine($"Enter number {i+1}");
input += int.Parse(Console.ReadLine());
i++;
}
Console.WriteLine($"It took {i} number to make the sum {number}");
}
catch (Exception e)
{
}
Console.ReadLine();
}
您知道用户将输入什么号码吗? 不,你不知道。 因此,您不知道要达到总和还需要多少个数字。
选择适合该工作的工具。
对于循环
“ For”循环用于将特定代码块重复已知次数。
While循环
“ While”循环用于未知次数重复特定代码块,
给定以上两个选项,您应该选择一个while
循环,因为您不知道需要多少次才能要求用户输入数字来达到总和。 可能是1次或多次。
在C#中,还有一个do while
循环,如果您知道必须至少执行一次甚至可能多次执行某事,则可以使用do while
循环,因此,对于您而言,最好的选择是使用do while
。
您的代码是完全可操作的。 我希望这有帮助:
Console.WriteLine("Enter Target Value: 6");
int total = 0;
int target = 6;
int i = 1;
while (i <= 4)
{
Console.Write("Enter #{0}:\t", i);
total += Convert.ToInt32(Console.ReadLine());
i++;
}
while (total == target);
Console.WriteLine("It took {0} inputs to take the sum to\t{1}",i, total);
Console.ReadLine();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.