递归
#include<stdio.h>
#include<stdlib.h>
int jiecheng(int n)
{
if(n<=1)
return 1;
else if(n>1)
{
return n*jiecheng(n-1);
}
}
int main()
{
int n = 0;
int ret = 0;
printf("请输入n\n");
scanf("%d",&n);
ret = jiecheng(n);
printf("%d",ret);
system("pause");
return 0;
}
非递归
#include<stdio.h>
#include<stdlib.h>
int jiecheng(int n)
{
int i = 0;
int ret = 1;
for(i = 1;i<=n;i++)
{
ret=ret*i;
}
return ret;
}
int main()
{
int n = 0;
int ret = 0;
printf("请输入n\n");
scanf("%d",&n);
ret = jiecheng(n);
printf("%d\n",ret);
system("pause");
return 0;
}
运行结果