0

想定されている階乗を実行するために、このforループを取得できません。ループしているのは1回だけのようです。

 static void Main(string[] args)
    {
    int a;
    int total=1;
    Console.WriteLine("Please enter any number");
    a = Convert.ToInt32 (Console.ReadLine());
    total = a;
        for (int intcount = a; intcount<= 1; intcount--)
          {
            total *= intcount;    
        }
        Console.WriteLine("Factorial of number '{0}' is '{1}'", a, total);
        Console.ReadKey();
4

5 に答える 5

5
intcount<= 1

これは、ループを開始するとすぐにfalseになるため、ループはすぐに終了します。

その数が1より大きい間は、おそらくループしたいと思うでしょう。

于 2013-01-24T16:45:35.787 に答える
0

初期化をからtotal = aに変更してtotal = 1、次のようにする必要があります。intcount<= 1intcount > 1

var a = 5;
var total = 1;
for (int intcount = a; intcount > 1; intcount--)
{
     total *= intcount;    
}
Console.WriteLine (total);//prints 120
于 2013-01-24T16:47:11.463 に答える
0
total = 0;
for (int intcount = 1; intcount<= a; intcount++)
{
   total *= intcount;    
}

また

total = a;
for (int intcount = a; intcount>= 1; intcount--)
  {
    total *= intcount;    
}
于 2013-01-24T16:49:37.993 に答える
0

値が1より大きい間ループします。

for (int intcount = a; intcount > 1; intcount--) {
  total *= intcount;
}

または、値までループします。

for (int intcount = 2; intcount <= a; intcount++) {
  total *= intcount;
}
于 2013-01-24T16:52:59.003 に答える