私は宿題をしているので、最初の行に1つ、2行目に2つ、というように '*'マークを書き出すプログラムを作成する必要があります。ひねりは、再帰的な方法で作られなければならない、と私は本当にそれを処理することはできません。C#唯一の再帰的メソッド
static void csillag(int i,int x = 1)
{
for (int z = 0; z < x; z++) Console.Write('*');
x++;
while (i > x)
{
Console.WriteLine();
csillag(i);
}
}
これは私が思いついたコードですが、それはいくつかの理由のために働いていない、それは無限に各行に1つの*書き込み続けます。私はおそらく、 "int x = 1"の部分は、メソッドが実行されるたびにxを1にリセットし続けると考えました。あなたが助けてくれることを願っています、私の専門家でない英語には申し訳ありません。
あなたの先生をサック。これは再帰のための恐ろしい使用であり、決してあなたに再帰の力を教えるものではありません。 –
まず、 'x'引数は必要ありません。二番目に、 'if(i == 10)'や描画する必要のある最大値のように見える再帰出口の状態から始めてみることをお勧めします。ここでは完全な実用的な解決策を得られないことを願っています。ネットワーク内にたくさんの再帰サンプルがある –
最大の数はユーザーでなければならないので、11を入力すると11倍になります。 –