我是 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;
}
}
}
什么是錯誤?
uj5u.com熱心網友回復:
回答“......問題是當回圈中斷時不會列印所有輸入它只是結束程式......”:
那是因為在你打破回圈之后,沒有更多的代碼可以執行 - 所以控制臺關閉。您可以在方法末尾添加Console.ReadKey()或Console.ReadLine()以Main在回圈中斷后保持控制臺打開。Console.ReadKey()會等到您按任意鍵,Console.ReadLine()會等到您輸入內容并按 Enter(或直接按 Enter)。或者以兩種方式控制臺將保持打開狀態,直到您手動關閉它。
static void Main(string[] args)
{
// ...
for (int i = 1; i <= array_num.Length; i )
{
// ...
if (array_num[i] < array_num[i - 1])
{
Console.WriteLine("the number is " nu "");
break;
}
}
Console.ReadKey(); // Here Console will wait until you press any key and will stay opened
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/315530.html
上一篇:串列回圈中的tkinter復選框。新串列到達時如何重建(更新)復選框?
下一篇:回圈故障排除-sum問題
