递归和非递归分别实现求n的阶乘:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//递归
int fac_R(int num)
{
if (num == 1)
{
return 1;
}
return num * fac_R(num - 1);
}
//非递归
int fac_nonR(int num)
{
int i = 1;
int sum = 1;
while (i <= num)
{
sum *= i;
i++;
}
return sum;
}
int main()
{
int n;
printf("输入数字n:\n");
scanf("%d", &n);
printf("递归:%d\n", fac_R(n));
printf("非递归:%d\n", fac_nonR(n));
return 0;
}