C# 如何构建一个循环,允许用户输入正数和整数,并在输入0或负数时结束
大家好 因此,我在while/for/do while循环中遇到了一些困难,因为我很难理解它们的结构 这导致我的家庭作业有一些问题,我需要做的是为以下内容编写代码: 我需要一个程序,允许用户只输入正数和整数,该程序还计算它们的总和,并在控制台中显示每个输入的结果(例如,用户输入1和大于2,大于3和大于4,该程序将结果显示为10) 如果用户输入0或负数,程序将结束 我只能用for/while/do-while 我的经验是只使用基本的东西,比如int、double、loop、string等等 我真的不太明白,我很想得到一些想法和帮助 我试过了,但一开始就被卡住了。我不知道如何开始 编辑: 我真的只是尝试了一下这个想法,因为我不知道如何开始,我做了这个,这是不好的C# 如何构建一个循环,允许用户输入正数和整数,并在输入0或负数时结束,c#,C#,大家好 因此,我在while/for/do while循环中遇到了一些困难,因为我很难理解它们的结构 这导致我的家庭作业有一些问题,我需要做的是为以下内容编写代码: 我需要一个程序,允许用户只输入正数和整数,该程序还计算它们的总和,并在控制台中显示每个输入的结果(例如,用户输入1和大于2,大于3和大于4,该程序将结果显示为10) 如果用户输入0或负数,程序将结束 我只能用for/while/do-while 我的经验是只使用基本的东西,比如int、double、loop、string等等 我真的
int number, i=1 , min;
Console.WriteLine("Please enter only positive WHOLE numbers to calculate");
number = int.Parse(Console.ReadLine());
while (i <= number)
{
Console.WriteLine("This is the smallest number: " + number);
i++;
}
整数,i=1,最小值;
Console.WriteLine(“请只输入要计算的正整数”);
number=int.Parse(Console.ReadLine());
(i我认为最好的办法是阅读文档:
1操作方法:
int number, i=0 , min=1; // min is the minimum value, i is the sum, number is the input you give
while (i <= min)// checks if its lesser than zero
{
Console.WriteLine("Please enter only positive WHOLE numbers to calculate");
number = int.Parse(Console.ReadLine());
i += number;
Console.WriteLine("This is the sum: " + i);
}
int number, i=0 , min=1; // min is the minimum value, i is the sum, number is the input you give
while (true)
{
Console.WriteLine("Please enter only positive WHOLE numbers to calculate");
number = int.Parse(Console.ReadLine());
if(i<=min)
break;
i += number;
Console.WriteLine("This is the sum: " + i);
}
int number,i=0,min=1;//min是最小值,i是总和,number是您给出的输入
while(i循环用于重复的代码。在您的任务中,输入和添加重复,因此将它们放入循环中。while
和for
循环在执行循环体之前检查条件,然后执行do
检查
您的算法如下所示:
读取输入
检查是否为阳性,如果不是,退出
把它加到总和上
重复一遍
因此,您应该在循环中间检查条件。您可以使用break
提前退出循环。因为您既不在开始也不在结束时检查条件,所以只需编写一个无限循环
int n, sum = 0;
while (true) {
n = int.Parse (Console.ReadLine ());
if (n <= 0) break;
sum += n;
}
您将重复语句放在循环之外。这迫使您使用标签。标签很容易使您的逻辑变得非常难以阅读
您不确定地退出循环,因此这里的while
和if
之间没有区别
记住在某些事情重复时使用循环,在没有任何事情重复时不要使用循环
Console.WriteLine ("Please enter only positive WHOLE numbers to calculate");
int n, sum = 0;
while (true) {
n = int.Parse (Console.ReadLine ());
Console.WriteLine ("This is your number : " + number);
if (n <= 0) {
Console.WriteLine("Please enter a number bigger than 0");
// actually he won't get a chance to enter it. Why to ask him then?
break;
}
sum += n;
Console.WriteLine("The sum is: " + sum);
}
Console.WriteLine(“请只输入要计算的正整数”);
int n,和=0;
while(true){
n=int.Parse(Console.ReadLine());
Console.WriteLine(“这是您的号码:”+number);
如果(n你能编辑这个问题来告诉我们你到目前为止用代码做了什么吗?是的,我刚刚修复了它。我知道如何在基本层面上使用while和do循环,可能比文档中的解释更好,但我不知道如何使用它们将代码思想实现为现实。while不需要增量,如果你没有它的一个用途。在您的情况下,它所需要的只是一个条件,即检查输入是否小于零,而不是忽略循环。在当前的迭代中,它只是以相同的次数x(用户输入的次数)循环,程序结束,并且它总是显示相同的数字(如果用户输入了4,它会说“这是总和:4”,直到程序结束)修复了它。这是因为控制台打印和输入检索代码超出了while块。这无法完全修复代码。第一个输入仍然没有验证。您可以通过查看如何在第一次迭代时验证检查来进一步修复它。请尝试一段时间。如果您仍然需要帮助,请告诉我。我做到了,我想知道是否有一个更好的方法(编辑我的帖子)我写的东西稍微长一点,但我想它是有效的,我不知道我是否可以把它缩短一点?我在我的第一篇帖子中编辑了它,请看那里。
int number, sum = 0;
Console.WriteLine("Please enter only positive WHOLE numbers to calculate");
start:
number = int.Parse(Console.ReadLine());
while (number > 0)
{
Console.WriteLine("This is your number : " + number);
sum += number;
Console.WriteLine("The sum is: " + sum);
goto start;
}
while (number <= 0)
{
Console.WriteLine("Please enter a number bigger than 0");
break;
}
Console.WriteLine ("Please enter only positive WHOLE numbers to calculate");
int n, sum = 0;
while (true) {
n = int.Parse (Console.ReadLine ());
Console.WriteLine ("This is your number : " + number);
if (n <= 0) {
Console.WriteLine("Please enter a number bigger than 0");
// actually he won't get a chance to enter it. Why to ask him then?
break;
}
sum += n;
Console.WriteLine("The sum is: " + sum);
}