27.递归和非递归分别实现求n的阶乘
1)非递归
代码如下:
#include <stdio.h>
int main(){
int n, i,sum=1;
printf("请输入一个整数:\n");
scanf("%d", &n);
for (i = 1; i <= n; i++){
sum *= i;
}
printf("%d\n", sum);
return 0;
}
运行结果:
2)递归
代码如下:
#include <stdio.h>
int fac(int n){
if (n <= 1){
return 1;
}
else{
return n*fac(n - 1);
}
}
int main(){
int n;
printf("请输入一个整数:\n");
scanf("%d", &n);
printf("%d\n", fac(n));
}
运行结果: