首页 > 解决方案 > 打破while循环并且不打印结果c#

问题描述

我是 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;
            }
           
        }

    }

什么是错误?

标签: c#loopsfor-loopwhile-loopbreak

解决方案


回答“......问题是当循环中断时不会打印所有输入,它只是结束程序......”

那是因为在你中断循环之后没有更多的代码可以执行 - 所以控制台关闭。您可以在方法末尾添加Console.ReadKey()或以在循环中断后保持控制台打开。会等到您按下任何键,会等到您输入某些内容并按 Enter 键(或仅按 Enter 键)。或者在这两种方式中,控制台都将保持打开状态,直到您手动关闭它。Console.ReadLine()MainConsole.ReadKey()Console.ReadLine()

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
}

推荐阅读