C语言编程 简单的关于函数定义与调用

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:25:13
定义函数fact(n)计算n的阶乘:n!=1*2*3*......n,函数返回值类型double。
想看看标准的解答,本人正在学习,谢谢各位!!

计算出来都是整数,为什么要用double呢?
递归:
long Factorial(long n)
{
if(n == 1)
return 1;
else
return n * Factorial(n-1);
}
非递归:
long Factorial(long n)
{ int i;
long result = 1;
if(n == 1)
return n;
else
{
for(i = 1; i <= n; i++)
result = result*i;
}
return result;
}

double fact(n)
{
if(!n)n=1;
return n*fact(n-1);
}

double fact(int n)
{
int i ;
double s=1;
if(n==0)return 1;
for(i=1;i<=n;i++)
{
s*=i;
return s;
}
}

double fact(int n)
{
if (n == 1) return n;
else return n * fact(n-1);
}