非递归函数实现n的阶乘,用for循环实现
代码如下:
int Factoral1(int n){
int result = 1;
for (int i = 1; i <= n; i++){
result = result*i;
}
return result;
}
递归实现代码如下:
int Factoral2(int n){
if (n <= 1)
return 1;
return n*Factoral2(n - 1);
}
在主函数里面实现:
//递归和非递归分别实现求n的阶乘
#include<stdio.h>
#include<stdlib.h>
int Factoral1(int n){
int result = 1;
for (int i = 1; i <= n; i++){
result = result*i;
}
return result;
}
int Factoral2(int n){
if (n <= 1)
return 1;
return n*Factoral2(n - 1);
}
int main(){
printf("%d\n", Factoral1(7));
printf("%d\n", Factoral2(7));
system("pause");
return 0;
}
输出的结果是一样的