1.非递归方法实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Factor(int n){
int result=1;
for(int i=1; i<=n; i++){
result *= i;}
return result;
}
int main(){
int n;
int a;
printf("请输入需要打印的阶乘:");
scanf("%d",&n);
a=Factor(n);
printf("结果为:%d\n",a);
system("pause");
return 0;
}
2.递归方法实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Factor(int n){
if(n==1){
return 1;}
return n*Factor(n-1);
}
int main(){
int a;
int n;
printf("请输入需要打印的阶乘:");
scanf("%d",&n);
a=Factor(n);
printf("结果为:\n",a);
system("pause");
return 0;
}