【发布时间】:2021-11-30 12:34:30
【问题描述】:
我是 C# 的初学者,我正在接受关于 codeforces 和 SPOJ 的培训,以学习如何解决问题, 我的问题是当循环中断时不会打印所有输入它只是结束程序而不打印
谁能告诉我我写的这两个代码有什么错误>
输入: 1,2,88,42,99 输出: 1,2,88
class Program
{
static void Main(string[] args)
{
Console.WriteLine("please enter an integer number in two digits");
int numbers;
int[] array_num = new int[100];
string nu = "";
int i =1;
while(i<100)
{
numbers = int.Parse(Console.ReadLine());
nu += numbers;
array_num[i] = numbers;
if(array_num[i]<array_num[i-1])
{
Console.WriteLine("the numbers is " +nu+ "");
break;
}
i++;
}
}
}
我在for循环中做同样的问题
static void Main(string[] args)
{
Console.WriteLine("please enter an integer number in two digits");
int numbers;
int[] array_num = new int[50];
string nu = "";
for (int i = 1; i <= array_num.Length; i++)
{
numbers = int.Parse(Console.ReadLine());
nu += numbers;
array_num[i] = numbers;
if (array_num[i] < array_num[i - 1])
{
Console.WriteLine("the number is " + nu + "");
break;
}
}
}
错在哪里?
【问题讨论】:
-
你想做什么?你的预期结果是什么?
break退出循环,因此您不会再打印任何行。continue带你进入下一个迭代,这就是你想要做的吗? -
不清楚。您是否希望它打印整个数组 - 甚至是满足条件的数组之后的数字?
-
我需要用 if 条件结束输入,所以如果条件为真,打印输入并停止
标签: c# loops for-loop while-loop break