C#家庭作品无法解决

本文关键字:解决 家庭 | 更新日期: 2023-09-27 18:36:50

我必须制作要求用户输入数字的控制台程序,然后程序必须使星星(*)的平方等于用户输入的数字。

Console.WriteLine("enter number and press ENTER"); 
int userNumber = int.Parse(Console.ReadLine()); 
int rowNumber = 0; 
int lineNumber = 0; 
int counter = 0; 
while(counter < userNumber) { 
    Console.Write("*"); 
        while(lineNumber < userNumber) { 
            Console.WriteLine("*"); 
            lineNumber++; 
        }
     counter++; 
 } 
 Console.WriteLine();

例:

user input :5
*****
*   *
*   *
*   *
*****

C#家庭作品无法解决

您可以执行以下操作:

代码说明:

正方形由 2 个相等的边组成,所以为了使用 * 绘制正方形,你会把它想象成一个矩阵

您需要一个循环来绘制

行,另一个循环来绘制列,并且两个循环都有上限,即用户输入的数字。

绘图规则是这样的,如果我在第一行或最后一行,或者在第一列或最后一列中,我会放星号,所以通过解决这个问题,我使用了 if 语句 ( i==0 || i== 数字-1 || j==0 || j== 数字 -1) 其中 i 是行,j 是列, 如果不满足此条件,则打印空间

using System;
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Please enter a number:");
        var number=Convert.ToInt32(Console.ReadLine());
        for(int i=0; i < number; i++)
        {           
            for(int j=0; j < number; j++)
            {           
                if(i==0 || i == number-1 || j==0 || j == number-1)
                    Console.Write("*"); 
                else
                    Console.Write(" ");
            }
            Console.Write("'n");
        }
    }
}

这是一个工作演示

希望这对你有帮助