2016-12-18 2 views
0

私はC#の初心者ですこのコードをコンパイルしようとしましたが、出力はちょうど垂直な行です。私はそれが単なるコンソールの問題だと思った。コンソールは垂直な線で出力を表示しています

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace ConsoleApplication3 
{ 
    class Program 
    { 
     static void DrawPyramid(int n) 
     { 
      for(int i =1;i<=n;i++) 
      { 
       for(int j=i;j<=n;j++) 
       { 
        Console.WriteLine(" "); 
       } 
       for(int k=1;k<=2*i-1;k++) 
       { 
        Console.WriteLine("*"+" "); 
       } 
       Console.WriteLine(); 
      } 
     } 
     static void Main(string[]args) 
     { 
      DrawPyramid(5); 
      Console.ReadLine(); 
     }  
    } 
} 
+0

タグ内の言語を指定してください。 – buhtz

答えて

0

内部ループでは、Console.WriteLine()を使用していますが、常に行を印刷します。ですから、このループの反復ごとに:

for(int k=1;k<=2*i-1;k++) 
{ 
    Console.WriteLine("*"+" "); 
} 

あなたは*、スペースや改行を印刷するようにやっています。内側のループでは、あなたはここでConsole.Write()

を使用する必要があります「固定」DrawPyramid()方法であって、言われて、私はConsole.Write()間(この区別として、あなたの質問がStackOverflowのに適合し、100%を確認していないこと

static void DrawPyramid(int n) 
{ 
    for(int i = 1; i <= n ; i++) 
    { 
     for(int j = i; j <= n; j++) 
     { 
      Console.Write(" "); 
     } 
     for(int k = 1; k <= 2 * i - 1; k++) 
     { 
      Console.Write("*"); 
     } 
     Console.WriteLine(); 
    } 
} 

およびConsole.WriteLine())は非常に基本的なトピックであり、そのドキュメントは豊富にあります。

関連する問題