-1

forループを使用してパターンを印刷するには?

図(3) 図(4)

   ** **
    ** **
     ** **
      ** **
                           **

私はこれを試しました:

static void PrintPattern (int column)
{
    for (int r = 0; r <= column + 1; r++)
    {
        Console.Write("**");
        for (int c = 0; c < r; c++)
        {
            Console.WriteLine(" ");
        }
        Console.WriteLine();
    }
}     
4

4 に答える 4

2

楽しみのために作成されました。-1 が多すぎないようにします

int depth = 4;
var rows = Enumerable.Range(0, depth + 1)
                     .Select(v => new string('\t', v) + "**" );

var oneString = string.Join(Environment.NewLine, rows);

Console.WriteLine (oneString);

プリント:

**
  **
    **
      **
        **

備考: ' 'tab の代わりにセパレータとして使用すると'\t'、次の結果が得られます:

**
 **
  **
   **
    **
于 2013-03-18T17:16:23.307 に答える
1
    void Main()
    {
        const int rowCount = 10;
        Console.Write("**");
        for (var rowNumber = 0; rowNumber < rowCount - 1; rowNumber++)
        {
            Console.Write("\n ");
            for (var spaceCount = 0; spaceCount < rowNumber; spaceCount++)
            {
                Console.Write(" ");
            }
            Console.Write("**");
        }
    }
于 2013-03-18T17:44:23.847 に答える
0

正常に動作します。. .

Figure3 の場合: 行 = 4、
Figure4 の場合: 行 = 5

    static void Main(string[] args)
    {
        int lines = 5;
        for (int i = 0; i < lines; i++)
        {
            bool flag = false;
            for (int j = 0; j < lines; j++)
            {
                if (j == i)
                {
                    Console.WriteLine("**");
                    flag = true;
                }
                else
                {
                    if (!flag)
                        Console.Write(" ");
                }
            }
        }

    }
于 2013-03-18T17:17:09.887 に答える
0

C# はわかりませんが、Java でお手伝いします。必要に応じて構文を変更する必要があります ( Console.Write== System.out.print&& Console.Writeline== System.out.println)。コードは次のとおりです。

 static void printPattern(int column){
   int spaceCount = 2;//number of spaces before **, change as needed
   int k;//number of times ** is printed each row, must remain always 1
   for(int i = 0; i < column; i++){
       System.out.println();//starts each row with a new line
       for(int j = 1; j < spaceCount; j++){
           System.out.print(" ");//prints j spaces in each row
        }
        spaceCount++;//increment spacecount each row, so j can also go + 1 
        for(k = 1; k <= 1; k++){
            System.out.print("**");//each row prints ** k times
        }
        k--;//k must remain 1
    }
}

printPattern(4);Figure(3)の場合、Figure(4) を呼び出します。printPattern(5);

于 2016-03-08T22:35:55.727 に答える