递归和非递归分别实现求n的阶乘
代码实现:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int rec(int n)
{
if (n == 0)
return 1;
else
return n * rec(n - 1);
}
int norec(int n)
{
int num = 1;
for (int i = 1; i <= n; i++)
num *= i;
return num;
}
int main()
{
int n = 0;
printf("输入需要求数字的阶乘\n");
scanf("%d", &n);
printf("递归实现%d的阶乘为%d\n", n, rec(n));
printf("非递归实现%d的阶乘为%d\n", n, norec(n));
return 0;
}