C# 第二次输入数字时,我没有得到阶乘的正确答案

C# 第二次输入数字时,我没有得到阶乘的正确答案,c#,factorial,C#,Factorial,第二次输入数字时,我没有得到阶乘的正确答案 使用系统; 命名空间结果2 { 班级计划 { 静态void Main(字符串[]参数) { int t,FactR=1; 做 { 控制台。写入(“输入编号:”; t=Convert.ToInt32(Console.ReadLine()); if(t

第二次输入数字时,我没有得到阶乘的正确答案

使用系统;
命名空间结果2
{
班级计划
{
静态void Main(字符串[]参数)
{
int t,FactR=1;
做
{
控制台。写入(“输入编号:”;
t=Convert.ToInt32(Console.ReadLine());
if(t<0)
WriteLine(“找不到负数的阶乘”);
else if(t=2;计数器--)
{
FactR=FactR*计数器;
}
WriteLine(“{0}!={1}”,t,FactR);
}
Console.WriteLine(“您想退出吗?是/否”);
}while(Console.ReadKey().KeyChar!=“Y”);
}
}
}

这可能是因为您没有重置
FactR
变量,您可以这样做

     do{
       if (t < 0)
                Console.WriteLine("Factorial of Negative number's can't be found ");
            else if (t <= 1)
                Console.WriteLine("{0}! = {1}", t, FactR);
            else
            {
                FactR = 1;
                for (int counter = t; counter >= 2; counter--)
                {
                    FactR = FactR * counter;
                }
                Console.WriteLine("{0}! = {1}", t, FactR);
            }

            Console.WriteLine("Do you wish to quit? Y/N");
        } while (Console.ReadKey().KeyChar != 'Y');
do{
if(t<0)
WriteLine(“找不到负数的阶乘”);
else if(t=2;计数器--)
{
FactR=FactR*计数器;
}
WriteLine(“{0}!={1}”,t,FactR);
}
Console.WriteLine(“您想退出吗?是/否”);
}while(Console.ReadKey().KeyChar!=“Y”);

打印后将FactR重置为1