我需要创建一个程序,添加用户输入以达到目标,结果如下所示。
我必须使用' While Loop'为了这, 但是我很难使用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();
你能帮我找一些问题吗?
答案 0 :(得分:0)
这是完整的例子。
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();
}
答案 1 :(得分:0)
您知道用户输入的号码吗?不,你不知道。所以你不知道要达到这笔钱还需要多少数字。
为工作选择合适的工具。
For Loop
A&#34; For&#34;循环用于重复特定的代码块已知次。
While循环
A&#34;而&#34;循环用于重复特定的代码块未知次,
鉴于上述2个选项,您的选择应该是while
循环,因为您不知道要求用户输入数字以达到总和的次数。它可能是1次或多次。
在C#中,还有do while
循环,如果你知道你必须做某事至少一次甚至更多,那就要使用它。因此,对你的情况来说最好选项是使用do while
。
您可以在while loop,for loop和do while上阅读更多内容。
答案 2 :(得分:-1)
您的代码完全正常运行。我希望这会有所帮助:
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();