首页 > 解决方案 > 我正在编写一个程序,该程序连续接受一个数字,并且仅当最后一个输入数字是前一个数字的两倍时才停止

问题描述

如果我输入:

1 然后 3 然后 6,程序仍然运行,但是如果我执行 1 然后 3 然后 6 然后 12 它将终止。

这是我的代码:


using System;

namespace ProgExer19
{
    class Program
    {
        public static void Main(string[] args)
        {
            int n1, n2;
            //Console.Write("ENTER NUMBER: ");
            //int n = int.Parse(Console.ReadLine());
            do
            {
                Console.Write("ENTER NUMBER: ");
                n1 = int.Parse(Console.ReadLine());
                Console.Write("ENTER NUMBER: ");
                n2 = int.Parse(Console.ReadLine());
            }while (n2 != (n1 * 2) || n1 == (n2 * 2));
            Console.WriteLine("Program will now terminate.");
            System.Threading.Thread.Sleep(1000);
        }
    }
}

标签: c#

解决方案


每个周期您只需要读取一个数字。


    using System;
    
    namespace ProgExer19 {
      class Program {
        public static void Main(string[] args) {
          int n1 = 0, n2 = 0;
          int i = 0;
    
          do {
            n1 = n2;
            Console.Write("ENTER NUMBER: ");
            n2 = int.Parse(Console.ReadLine());
            i++;
          } while (n2 != (n1 * 2) || i <= 1);
          Console.WriteLine("Program will now terminate.");
          System.Threading.Thread.Sleep(1000);
        }
      }
    }



推荐阅读