尝试在控制台程序中创建一个选项,输出用户定义的完美正方形量

时间:2015-10-30 16:02:10

标签: c# loops

else if (userAnswer.Equals("2"))
            {
                blankspace();
                Console.WriteLine("How many squares would you like to see? ");
                double num = Convert.ToInt32(Console.ReadLine());
                while (0 >= num)
                {
                    Console.WriteLine(num * num);                      
                }
            }

我的问题是我不知道从哪里开始。我以前只能输出一个方格,但我需要知道如何输出一个列表而不是一个数字。

1 个答案:

答案 0 :(得分:1)

以下是您的代码目前所说的内容:

If the user input is 2: Add a blank space -- Console.WriteLine() ?? Ask how many squares they want Get their input Get the square of their input while their input is less than 0

正如你所看到的,在你完成循环之前,情况会相当顺利。我认为你真正想做的是:

Get their input Generate that number of perfect squares

要实现这一点,你的循环应该看起来像这样:

for (int i = 1; i <= num; i++) { Console.WriteLine(i * i); }

这说明如下:

Start at 1 square the current number (i) add 1 to the number (i) repeat until you reach the user's number (num)

因此,如果输入为3,您将获得1, 2, and 3平方。如果你想对特定数字求平方,那么逻辑需要改变一点,但这至少应该达到你的基本目标。

编辑:如果你想保留while循环,你真正需要做的就是添加num--(从num减1)并将比较切换到0 <= num(假设你想要正数)停止无限循环。这将按降序(3,2,1)生成正方形,但会完成相同的结果。

你正在进行无限循环,因为num永远不会改变,所以如果它不是从0开始,它永远不会是0。