递归和非递归分别实现求n的阶乘
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//递归
int fact(int n) {
if (n == 1) {
return 1;
}
return n * fact(n - 1);
}
//非递归
int fact1(int n) {
int result = 1;
for (int i = 1; i <= n; ++i) {
result = result * i;
}
return result;
}
int main() {
int n;
int result;
printf("请输入n的值:\n");
scanf("%d",&n);
result = fact(n);
printf("%d\n",result);
result = fact1(n);
printf("%d\n", result);
system("pause");
return 0;
}