题目内容
递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
阶乘
n!=1×2×3×…×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n
源程序及运行结果
#include<stdio.h>
int digui(int n)
{
if(n==1)
return 1;
return n*digui(n-1);
}
int feidigui(int n)
{
int i,result;
for(i=1;i<=n;++i)
{
result*=i;
}
return (result);
}
int main()
{
int n,result,result1;
scanf("%d",&n);
result1=digui(n);
result=feidigui(n);
printf("递归%d的阶乘为:%d\n",n,result1);
printf("非递归%d的阶乘为:%d",n,result);
return 0;
}