递归和非递归分别实现求n的阶乘
递归和非递归分别实现求n的阶乘,不考虑阶乘
1.非递归
int mul(int n)
{
int i;
int ret=1;
for (i = 1; i <= n; i++)//for循环
{
ret = reti;//临时存储
}
return ret;
}
int main()
{
int n;
printf(“请输入你想要的阶乘:”);
scanf("%d", &n);
printf("%d", mul(n));
return 0;
}
2.递归
int mul(int n)
{
if (n <= 1)
{
return 1;
}
if (n > 1)
{
return n mul(n - 1);//自己调用自己
}
}
int main()
{
int n = 0;
printf(“你想得到几的阶乘:”);
scanf("%d", &n);
int ret = mul(n);printf("%d", ret);
return 0;
}
运行结果