递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
递归:
运行代码:
#include<stdio.h>
int Func(int n)
{
if (n == 0)
{
return 1;
}
else
{
return n * Func(n - 1);
}
}
int main()
{
int a = 0;
scanf("%d", &a);
int sum = Func(a);
printf("%d\n", sum);
return 0;
}
非递归:
运行代码:
#include<stdio.h>
int main()
{
int n = 0;
int sum = 1;
scanf("%d", &n);
while (n > 0)
{
sum *= n;
n--;
}
printf("%d\n", sum);
return 0;
}