using System;
namespace Jiecheng
{
class Program
{
static void Main(string[] args)
{
//接受用户输入的数字
Console.WriteLine("请输入一个数字:");
int n = int.Parse(Console.ReadLine());
//定义一个变量
double sum = 1;
//定义起点,终点,变化
for (int i = 1; i <=n; i++)
{
//要做的事
sum = sum * i;//乘以i而不是n
}
Console.WriteLine("阶乘结果为:" + sum);
}
}
}
判断那里 由于i的初始值是1 所以后面就该是<=n 0的话就是小于
public static int fact(int n)
{
if (n == 1||n == 0)
return 1;
else
return n * fact(n - 1);
}
for(int i = 1;i < n;i++)
{
//要做的事
sum = sum * n;
}
Console.WriteLine("阶乘结果为{0}:" sum);
n!=1*2*……*n
n也应该乘进去
所以for(int i = 1;i < n;i++){
应该从改成
for(int i = 1;i <=n;i++){